/* Generated by ./xlat/gen.sh from ./xlat/kvm_cap.in; do not edit. */

#include "gcc_compat.h"
#include "static_assert.h"

#if defined(KVM_CAP_IRQCHIP) || (defined(HAVE_DECL_KVM_CAP_IRQCHIP) && HAVE_DECL_KVM_CAP_IRQCHIP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_IRQCHIP) == (0), "KVM_CAP_IRQCHIP != 0");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_IRQCHIP 0
#endif
#if defined(KVM_CAP_HLT) || (defined(HAVE_DECL_KVM_CAP_HLT) && HAVE_DECL_KVM_CAP_HLT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_HLT) == (1), "KVM_CAP_HLT != 1");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_HLT 1
#endif
#if defined(KVM_CAP_MMU_SHADOW_CACHE_CONTROL) || (defined(HAVE_DECL_KVM_CAP_MMU_SHADOW_CACHE_CONTROL) && HAVE_DECL_KVM_CAP_MMU_SHADOW_CACHE_CONTROL)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_MMU_SHADOW_CACHE_CONTROL) == (2), "KVM_CAP_MMU_SHADOW_CACHE_CONTROL != 2");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_MMU_SHADOW_CACHE_CONTROL 2
#endif
#if defined(KVM_CAP_USER_MEMORY) || (defined(HAVE_DECL_KVM_CAP_USER_MEMORY) && HAVE_DECL_KVM_CAP_USER_MEMORY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_USER_MEMORY) == (3), "KVM_CAP_USER_MEMORY != 3");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_USER_MEMORY 3
#endif
#if defined(KVM_CAP_SET_TSS_ADDR) || (defined(HAVE_DECL_KVM_CAP_SET_TSS_ADDR) && HAVE_DECL_KVM_CAP_SET_TSS_ADDR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_SET_TSS_ADDR) == (4), "KVM_CAP_SET_TSS_ADDR != 4");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_SET_TSS_ADDR 4
#endif
#if defined(KVM_CAP_VAPIC) || (defined(HAVE_DECL_KVM_CAP_VAPIC) && HAVE_DECL_KVM_CAP_VAPIC)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_VAPIC) == (6), "KVM_CAP_VAPIC != 6");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_VAPIC 6
#endif
#if defined(KVM_CAP_EXT_CPUID) || (defined(HAVE_DECL_KVM_CAP_EXT_CPUID) && HAVE_DECL_KVM_CAP_EXT_CPUID)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_EXT_CPUID) == (7), "KVM_CAP_EXT_CPUID != 7");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_EXT_CPUID 7
#endif
#if defined(KVM_CAP_CLOCKSOURCE) || (defined(HAVE_DECL_KVM_CAP_CLOCKSOURCE) && HAVE_DECL_KVM_CAP_CLOCKSOURCE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_CLOCKSOURCE) == (8), "KVM_CAP_CLOCKSOURCE != 8");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_CLOCKSOURCE 8
#endif
#if defined(KVM_CAP_NR_VCPUS) || (defined(HAVE_DECL_KVM_CAP_NR_VCPUS) && HAVE_DECL_KVM_CAP_NR_VCPUS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_NR_VCPUS) == (9), "KVM_CAP_NR_VCPUS != 9");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_NR_VCPUS 9
#endif
#if defined(KVM_CAP_NR_MEMSLOTS) || (defined(HAVE_DECL_KVM_CAP_NR_MEMSLOTS) && HAVE_DECL_KVM_CAP_NR_MEMSLOTS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_NR_MEMSLOTS) == (10), "KVM_CAP_NR_MEMSLOTS != 10");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_NR_MEMSLOTS 10
#endif
#if defined(KVM_CAP_PIT) || (defined(HAVE_DECL_KVM_CAP_PIT) && HAVE_DECL_KVM_CAP_PIT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PIT) == (11), "KVM_CAP_PIT != 11");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PIT 11
#endif
#if defined(KVM_CAP_NOP_IO_DELAY) || (defined(HAVE_DECL_KVM_CAP_NOP_IO_DELAY) && HAVE_DECL_KVM_CAP_NOP_IO_DELAY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_NOP_IO_DELAY) == (12), "KVM_CAP_NOP_IO_DELAY != 12");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_NOP_IO_DELAY 12
#endif
#if defined(KVM_CAP_PV_MMU) || (defined(HAVE_DECL_KVM_CAP_PV_MMU) && HAVE_DECL_KVM_CAP_PV_MMU)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PV_MMU) == (13), "KVM_CAP_PV_MMU != 13");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PV_MMU 13
#endif
#if defined(KVM_CAP_MP_STATE) || (defined(HAVE_DECL_KVM_CAP_MP_STATE) && HAVE_DECL_KVM_CAP_MP_STATE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_MP_STATE) == (14), "KVM_CAP_MP_STATE != 14");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_MP_STATE 14
#endif
#if defined(KVM_CAP_COALESCED_MMIO) || (defined(HAVE_DECL_KVM_CAP_COALESCED_MMIO) && HAVE_DECL_KVM_CAP_COALESCED_MMIO)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_COALESCED_MMIO) == (15), "KVM_CAP_COALESCED_MMIO != 15");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_COALESCED_MMIO 15
#endif
#if defined(KVM_CAP_SYNC_MMU) || (defined(HAVE_DECL_KVM_CAP_SYNC_MMU) && HAVE_DECL_KVM_CAP_SYNC_MMU)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_SYNC_MMU) == (16), "KVM_CAP_SYNC_MMU != 16");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_SYNC_MMU 16
#endif
#if defined(KVM_CAP_IOMMU) || (defined(HAVE_DECL_KVM_CAP_IOMMU) && HAVE_DECL_KVM_CAP_IOMMU)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_IOMMU) == (18), "KVM_CAP_IOMMU != 18");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_IOMMU 18
#endif
#if defined(KVM_CAP_DESTROY_MEMORY_REGION_WORKS) || (defined(HAVE_DECL_KVM_CAP_DESTROY_MEMORY_REGION_WORKS) && HAVE_DECL_KVM_CAP_DESTROY_MEMORY_REGION_WORKS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_DESTROY_MEMORY_REGION_WORKS) == (21), "KVM_CAP_DESTROY_MEMORY_REGION_WORKS != 21");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_DESTROY_MEMORY_REGION_WORKS 21
#endif
#if defined(KVM_CAP_USER_NMI) || (defined(HAVE_DECL_KVM_CAP_USER_NMI) && HAVE_DECL_KVM_CAP_USER_NMI)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_USER_NMI) == (22), "KVM_CAP_USER_NMI != 22");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_USER_NMI 22
#endif
#if defined(KVM_CAP_SET_GUEST_DEBUG) || (defined(HAVE_DECL_KVM_CAP_SET_GUEST_DEBUG) && HAVE_DECL_KVM_CAP_SET_GUEST_DEBUG)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_SET_GUEST_DEBUG) == (23), "KVM_CAP_SET_GUEST_DEBUG != 23");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_SET_GUEST_DEBUG 23
#endif
#if defined(KVM_CAP_REINJECT_CONTROL) || (defined(HAVE_DECL_KVM_CAP_REINJECT_CONTROL) && HAVE_DECL_KVM_CAP_REINJECT_CONTROL)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_REINJECT_CONTROL) == (24), "KVM_CAP_REINJECT_CONTROL != 24");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_REINJECT_CONTROL 24
#endif
#if defined(KVM_CAP_IRQ_ROUTING) || (defined(HAVE_DECL_KVM_CAP_IRQ_ROUTING) && HAVE_DECL_KVM_CAP_IRQ_ROUTING)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_IRQ_ROUTING) == (25), "KVM_CAP_IRQ_ROUTING != 25");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_IRQ_ROUTING 25
#endif
#if defined(KVM_CAP_IRQ_INJECT_STATUS) || (defined(HAVE_DECL_KVM_CAP_IRQ_INJECT_STATUS) && HAVE_DECL_KVM_CAP_IRQ_INJECT_STATUS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_IRQ_INJECT_STATUS) == (26), "KVM_CAP_IRQ_INJECT_STATUS != 26");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_IRQ_INJECT_STATUS 26
#endif
#if defined(KVM_CAP_ASSIGN_DEV_IRQ) || (defined(HAVE_DECL_KVM_CAP_ASSIGN_DEV_IRQ) && HAVE_DECL_KVM_CAP_ASSIGN_DEV_IRQ)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_ASSIGN_DEV_IRQ) == (29), "KVM_CAP_ASSIGN_DEV_IRQ != 29");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_ASSIGN_DEV_IRQ 29
#endif
#if defined(KVM_CAP_JOIN_MEMORY_REGIONS_WORKS) || (defined(HAVE_DECL_KVM_CAP_JOIN_MEMORY_REGIONS_WORKS) && HAVE_DECL_KVM_CAP_JOIN_MEMORY_REGIONS_WORKS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_JOIN_MEMORY_REGIONS_WORKS) == (30), "KVM_CAP_JOIN_MEMORY_REGIONS_WORKS != 30");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_JOIN_MEMORY_REGIONS_WORKS 30
#endif
#if defined(KVM_CAP_MCE) || (defined(HAVE_DECL_KVM_CAP_MCE) && HAVE_DECL_KVM_CAP_MCE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_MCE) == (31), "KVM_CAP_MCE != 31");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_MCE 31
#endif
#if defined(KVM_CAP_IRQFD) || (defined(HAVE_DECL_KVM_CAP_IRQFD) && HAVE_DECL_KVM_CAP_IRQFD)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_IRQFD) == (32), "KVM_CAP_IRQFD != 32");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_IRQFD 32
#endif
#if defined(KVM_CAP_PIT2) || (defined(HAVE_DECL_KVM_CAP_PIT2) && HAVE_DECL_KVM_CAP_PIT2)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PIT2) == (33), "KVM_CAP_PIT2 != 33");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PIT2 33
#endif
#if defined(KVM_CAP_SET_BOOT_CPU_ID) || (defined(HAVE_DECL_KVM_CAP_SET_BOOT_CPU_ID) && HAVE_DECL_KVM_CAP_SET_BOOT_CPU_ID)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_SET_BOOT_CPU_ID) == (34), "KVM_CAP_SET_BOOT_CPU_ID != 34");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_SET_BOOT_CPU_ID 34
#endif
#if defined(KVM_CAP_PIT_STATE2) || (defined(HAVE_DECL_KVM_CAP_PIT_STATE2) && HAVE_DECL_KVM_CAP_PIT_STATE2)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PIT_STATE2) == (35), "KVM_CAP_PIT_STATE2 != 35");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PIT_STATE2 35
#endif
#if defined(KVM_CAP_IOEVENTFD) || (defined(HAVE_DECL_KVM_CAP_IOEVENTFD) && HAVE_DECL_KVM_CAP_IOEVENTFD)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_IOEVENTFD) == (36), "KVM_CAP_IOEVENTFD != 36");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_IOEVENTFD 36
#endif
#if defined(KVM_CAP_SET_IDENTITY_MAP_ADDR) || (defined(HAVE_DECL_KVM_CAP_SET_IDENTITY_MAP_ADDR) && HAVE_DECL_KVM_CAP_SET_IDENTITY_MAP_ADDR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_SET_IDENTITY_MAP_ADDR) == (37), "KVM_CAP_SET_IDENTITY_MAP_ADDR != 37");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_SET_IDENTITY_MAP_ADDR 37
#endif
#if defined(KVM_CAP_XEN_HVM) || (defined(HAVE_DECL_KVM_CAP_XEN_HVM) && HAVE_DECL_KVM_CAP_XEN_HVM)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_XEN_HVM) == (38), "KVM_CAP_XEN_HVM != 38");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_XEN_HVM 38
#endif
#if defined(KVM_CAP_ADJUST_CLOCK) || (defined(HAVE_DECL_KVM_CAP_ADJUST_CLOCK) && HAVE_DECL_KVM_CAP_ADJUST_CLOCK)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_ADJUST_CLOCK) == (39), "KVM_CAP_ADJUST_CLOCK != 39");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_ADJUST_CLOCK 39
#endif
#if defined(KVM_CAP_INTERNAL_ERROR_DATA) || (defined(HAVE_DECL_KVM_CAP_INTERNAL_ERROR_DATA) && HAVE_DECL_KVM_CAP_INTERNAL_ERROR_DATA)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_INTERNAL_ERROR_DATA) == (40), "KVM_CAP_INTERNAL_ERROR_DATA != 40");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_INTERNAL_ERROR_DATA 40
#endif
#if defined(KVM_CAP_VCPU_EVENTS) || (defined(HAVE_DECL_KVM_CAP_VCPU_EVENTS) && HAVE_DECL_KVM_CAP_VCPU_EVENTS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_VCPU_EVENTS) == (41), "KVM_CAP_VCPU_EVENTS != 41");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_VCPU_EVENTS 41
#endif
#if defined(KVM_CAP_S390_PSW) || (defined(HAVE_DECL_KVM_CAP_S390_PSW) && HAVE_DECL_KVM_CAP_S390_PSW)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_S390_PSW) == (42), "KVM_CAP_S390_PSW != 42");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_S390_PSW 42
#endif
#if defined(KVM_CAP_PPC_SEGSTATE) || (defined(HAVE_DECL_KVM_CAP_PPC_SEGSTATE) && HAVE_DECL_KVM_CAP_PPC_SEGSTATE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_SEGSTATE) == (43), "KVM_CAP_PPC_SEGSTATE != 43");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_SEGSTATE 43
#endif
#if defined(KVM_CAP_HYPERV) || (defined(HAVE_DECL_KVM_CAP_HYPERV) && HAVE_DECL_KVM_CAP_HYPERV)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_HYPERV) == (44), "KVM_CAP_HYPERV != 44");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_HYPERV 44
#endif
#if defined(KVM_CAP_HYPERV_VAPIC) || (defined(HAVE_DECL_KVM_CAP_HYPERV_VAPIC) && HAVE_DECL_KVM_CAP_HYPERV_VAPIC)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_HYPERV_VAPIC) == (45), "KVM_CAP_HYPERV_VAPIC != 45");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_HYPERV_VAPIC 45
#endif
#if defined(KVM_CAP_HYPERV_SPIN) || (defined(HAVE_DECL_KVM_CAP_HYPERV_SPIN) && HAVE_DECL_KVM_CAP_HYPERV_SPIN)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_HYPERV_SPIN) == (46), "KVM_CAP_HYPERV_SPIN != 46");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_HYPERV_SPIN 46
#endif
#if defined(KVM_CAP_PCI_SEGMENT) || (defined(HAVE_DECL_KVM_CAP_PCI_SEGMENT) && HAVE_DECL_KVM_CAP_PCI_SEGMENT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PCI_SEGMENT) == (47), "KVM_CAP_PCI_SEGMENT != 47");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PCI_SEGMENT 47
#endif
#if defined(KVM_CAP_PPC_PAIRED_SINGLES) || (defined(HAVE_DECL_KVM_CAP_PPC_PAIRED_SINGLES) && HAVE_DECL_KVM_CAP_PPC_PAIRED_SINGLES)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_PAIRED_SINGLES) == (48), "KVM_CAP_PPC_PAIRED_SINGLES != 48");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_PAIRED_SINGLES 48
#endif
#if defined(KVM_CAP_INTR_SHADOW) || (defined(HAVE_DECL_KVM_CAP_INTR_SHADOW) && HAVE_DECL_KVM_CAP_INTR_SHADOW)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_INTR_SHADOW) == (49), "KVM_CAP_INTR_SHADOW != 49");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_INTR_SHADOW 49
#endif
#if defined(KVM_CAP_DEBUGREGS) || (defined(HAVE_DECL_KVM_CAP_DEBUGREGS) && HAVE_DECL_KVM_CAP_DEBUGREGS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_DEBUGREGS) == (50), "KVM_CAP_DEBUGREGS != 50");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_DEBUGREGS 50
#endif
#if defined(KVM_CAP_X86_ROBUST_SINGLESTEP) || (defined(HAVE_DECL_KVM_CAP_X86_ROBUST_SINGLESTEP) && HAVE_DECL_KVM_CAP_X86_ROBUST_SINGLESTEP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_X86_ROBUST_SINGLESTEP) == (51), "KVM_CAP_X86_ROBUST_SINGLESTEP != 51");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_X86_ROBUST_SINGLESTEP 51
#endif
#if defined(KVM_CAP_PPC_OSI) || (defined(HAVE_DECL_KVM_CAP_PPC_OSI) && HAVE_DECL_KVM_CAP_PPC_OSI)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_OSI) == (52), "KVM_CAP_PPC_OSI != 52");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_OSI 52
#endif
#if defined(KVM_CAP_PPC_UNSET_IRQ) || (defined(HAVE_DECL_KVM_CAP_PPC_UNSET_IRQ) && HAVE_DECL_KVM_CAP_PPC_UNSET_IRQ)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_UNSET_IRQ) == (53), "KVM_CAP_PPC_UNSET_IRQ != 53");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_UNSET_IRQ 53
#endif
#if defined(KVM_CAP_ENABLE_CAP) || (defined(HAVE_DECL_KVM_CAP_ENABLE_CAP) && HAVE_DECL_KVM_CAP_ENABLE_CAP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_ENABLE_CAP) == (54), "KVM_CAP_ENABLE_CAP != 54");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_ENABLE_CAP 54
#endif
#if defined(KVM_CAP_XSAVE) || (defined(HAVE_DECL_KVM_CAP_XSAVE) && HAVE_DECL_KVM_CAP_XSAVE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_XSAVE) == (55), "KVM_CAP_XSAVE != 55");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_XSAVE 55
#endif
#if defined(KVM_CAP_XCRS) || (defined(HAVE_DECL_KVM_CAP_XCRS) && HAVE_DECL_KVM_CAP_XCRS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_XCRS) == (56), "KVM_CAP_XCRS != 56");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_XCRS 56
#endif
#if defined(KVM_CAP_PPC_GET_PVINFO) || (defined(HAVE_DECL_KVM_CAP_PPC_GET_PVINFO) && HAVE_DECL_KVM_CAP_PPC_GET_PVINFO)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_GET_PVINFO) == (57), "KVM_CAP_PPC_GET_PVINFO != 57");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_GET_PVINFO 57
#endif
#if defined(KVM_CAP_PPC_IRQ_LEVEL) || (defined(HAVE_DECL_KVM_CAP_PPC_IRQ_LEVEL) && HAVE_DECL_KVM_CAP_PPC_IRQ_LEVEL)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_IRQ_LEVEL) == (58), "KVM_CAP_PPC_IRQ_LEVEL != 58");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_IRQ_LEVEL 58
#endif
#if defined(KVM_CAP_ASYNC_PF) || (defined(HAVE_DECL_KVM_CAP_ASYNC_PF) && HAVE_DECL_KVM_CAP_ASYNC_PF)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_ASYNC_PF) == (59), "KVM_CAP_ASYNC_PF != 59");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_ASYNC_PF 59
#endif
#if defined(KVM_CAP_TSC_CONTROL) || (defined(HAVE_DECL_KVM_CAP_TSC_CONTROL) && HAVE_DECL_KVM_CAP_TSC_CONTROL)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_TSC_CONTROL) == (60), "KVM_CAP_TSC_CONTROL != 60");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_TSC_CONTROL 60
#endif
#if defined(KVM_CAP_GET_TSC_KHZ) || (defined(HAVE_DECL_KVM_CAP_GET_TSC_KHZ) && HAVE_DECL_KVM_CAP_GET_TSC_KHZ)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_GET_TSC_KHZ) == (61), "KVM_CAP_GET_TSC_KHZ != 61");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_GET_TSC_KHZ 61
#endif
#if defined(KVM_CAP_PPC_BOOKE_SREGS) || (defined(HAVE_DECL_KVM_CAP_PPC_BOOKE_SREGS) && HAVE_DECL_KVM_CAP_PPC_BOOKE_SREGS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_BOOKE_SREGS) == (62), "KVM_CAP_PPC_BOOKE_SREGS != 62");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_BOOKE_SREGS 62
#endif
#if defined(KVM_CAP_SPAPR_TCE) || (defined(HAVE_DECL_KVM_CAP_SPAPR_TCE) && HAVE_DECL_KVM_CAP_SPAPR_TCE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_SPAPR_TCE) == (63), "KVM_CAP_SPAPR_TCE != 63");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_SPAPR_TCE 63
#endif
#if defined(KVM_CAP_PPC_SMT) || (defined(HAVE_DECL_KVM_CAP_PPC_SMT) && HAVE_DECL_KVM_CAP_PPC_SMT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_SMT) == (64), "KVM_CAP_PPC_SMT != 64");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_SMT 64
#endif
#if defined(KVM_CAP_PPC_RMA) || (defined(HAVE_DECL_KVM_CAP_PPC_RMA) && HAVE_DECL_KVM_CAP_PPC_RMA)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_RMA) == (65), "KVM_CAP_PPC_RMA != 65");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_RMA 65
#endif
#if defined(KVM_CAP_MAX_VCPUS) || (defined(HAVE_DECL_KVM_CAP_MAX_VCPUS) && HAVE_DECL_KVM_CAP_MAX_VCPUS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_MAX_VCPUS) == (66), "KVM_CAP_MAX_VCPUS != 66");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_MAX_VCPUS 66
#endif
#if defined(KVM_CAP_PPC_HIOR) || (defined(HAVE_DECL_KVM_CAP_PPC_HIOR) && HAVE_DECL_KVM_CAP_PPC_HIOR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_HIOR) == (67), "KVM_CAP_PPC_HIOR != 67");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_HIOR 67
#endif
#if defined(KVM_CAP_PPC_PAPR) || (defined(HAVE_DECL_KVM_CAP_PPC_PAPR) && HAVE_DECL_KVM_CAP_PPC_PAPR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_PAPR) == (68), "KVM_CAP_PPC_PAPR != 68");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_PAPR 68
#endif
#if defined(KVM_CAP_SW_TLB) || (defined(HAVE_DECL_KVM_CAP_SW_TLB) && HAVE_DECL_KVM_CAP_SW_TLB)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_SW_TLB) == (69), "KVM_CAP_SW_TLB != 69");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_SW_TLB 69
#endif
#if defined(KVM_CAP_ONE_REG) || (defined(HAVE_DECL_KVM_CAP_ONE_REG) && HAVE_DECL_KVM_CAP_ONE_REG)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_ONE_REG) == (70), "KVM_CAP_ONE_REG != 70");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_ONE_REG 70
#endif
#if defined(KVM_CAP_S390_GMAP) || (defined(HAVE_DECL_KVM_CAP_S390_GMAP) && HAVE_DECL_KVM_CAP_S390_GMAP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_S390_GMAP) == (71), "KVM_CAP_S390_GMAP != 71");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_S390_GMAP 71
#endif
#if defined(KVM_CAP_TSC_DEADLINE_TIMER) || (defined(HAVE_DECL_KVM_CAP_TSC_DEADLINE_TIMER) && HAVE_DECL_KVM_CAP_TSC_DEADLINE_TIMER)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_TSC_DEADLINE_TIMER) == (72), "KVM_CAP_TSC_DEADLINE_TIMER != 72");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_TSC_DEADLINE_TIMER 72
#endif
#if defined(KVM_CAP_S390_UCONTROL) || (defined(HAVE_DECL_KVM_CAP_S390_UCONTROL) && HAVE_DECL_KVM_CAP_S390_UCONTROL)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_S390_UCONTROL) == (73), "KVM_CAP_S390_UCONTROL != 73");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_S390_UCONTROL 73
#endif
#if defined(KVM_CAP_SYNC_REGS) || (defined(HAVE_DECL_KVM_CAP_SYNC_REGS) && HAVE_DECL_KVM_CAP_SYNC_REGS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_SYNC_REGS) == (74), "KVM_CAP_SYNC_REGS != 74");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_SYNC_REGS 74
#endif
#if defined(KVM_CAP_PCI_2_3) || (defined(HAVE_DECL_KVM_CAP_PCI_2_3) && HAVE_DECL_KVM_CAP_PCI_2_3)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PCI_2_3) == (75), "KVM_CAP_PCI_2_3 != 75");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PCI_2_3 75
#endif
#if defined(KVM_CAP_KVMCLOCK_CTRL) || (defined(HAVE_DECL_KVM_CAP_KVMCLOCK_CTRL) && HAVE_DECL_KVM_CAP_KVMCLOCK_CTRL)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_KVMCLOCK_CTRL) == (76), "KVM_CAP_KVMCLOCK_CTRL != 76");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_KVMCLOCK_CTRL 76
#endif
#if defined(KVM_CAP_SIGNAL_MSI) || (defined(HAVE_DECL_KVM_CAP_SIGNAL_MSI) && HAVE_DECL_KVM_CAP_SIGNAL_MSI)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_SIGNAL_MSI) == (77), "KVM_CAP_SIGNAL_MSI != 77");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_SIGNAL_MSI 77
#endif
#if defined(KVM_CAP_PPC_GET_SMMU_INFO) || (defined(HAVE_DECL_KVM_CAP_PPC_GET_SMMU_INFO) && HAVE_DECL_KVM_CAP_PPC_GET_SMMU_INFO)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_GET_SMMU_INFO) == (78), "KVM_CAP_PPC_GET_SMMU_INFO != 78");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_GET_SMMU_INFO 78
#endif
#if defined(KVM_CAP_S390_COW) || (defined(HAVE_DECL_KVM_CAP_S390_COW) && HAVE_DECL_KVM_CAP_S390_COW)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_S390_COW) == (79), "KVM_CAP_S390_COW != 79");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_S390_COW 79
#endif
#if defined(KVM_CAP_PPC_ALLOC_HTAB) || (defined(HAVE_DECL_KVM_CAP_PPC_ALLOC_HTAB) && HAVE_DECL_KVM_CAP_PPC_ALLOC_HTAB)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_ALLOC_HTAB) == (80), "KVM_CAP_PPC_ALLOC_HTAB != 80");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_ALLOC_HTAB 80
#endif
#if defined(KVM_CAP_READONLY_MEM) || (defined(HAVE_DECL_KVM_CAP_READONLY_MEM) && HAVE_DECL_KVM_CAP_READONLY_MEM)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_READONLY_MEM) == (81), "KVM_CAP_READONLY_MEM != 81");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_READONLY_MEM 81
#endif
#if defined(KVM_CAP_IRQFD_RESAMPLE) || (defined(HAVE_DECL_KVM_CAP_IRQFD_RESAMPLE) && HAVE_DECL_KVM_CAP_IRQFD_RESAMPLE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_IRQFD_RESAMPLE) == (82), "KVM_CAP_IRQFD_RESAMPLE != 82");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_IRQFD_RESAMPLE 82
#endif
#if defined(KVM_CAP_PPC_BOOKE_WATCHDOG) || (defined(HAVE_DECL_KVM_CAP_PPC_BOOKE_WATCHDOG) && HAVE_DECL_KVM_CAP_PPC_BOOKE_WATCHDOG)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_BOOKE_WATCHDOG) == (83), "KVM_CAP_PPC_BOOKE_WATCHDOG != 83");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_BOOKE_WATCHDOG 83
#endif
#if defined(KVM_CAP_PPC_HTAB_FD) || (defined(HAVE_DECL_KVM_CAP_PPC_HTAB_FD) && HAVE_DECL_KVM_CAP_PPC_HTAB_FD)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_HTAB_FD) == (84), "KVM_CAP_PPC_HTAB_FD != 84");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_HTAB_FD 84
#endif
#if defined(KVM_CAP_S390_CSS_SUPPORT) || (defined(HAVE_DECL_KVM_CAP_S390_CSS_SUPPORT) && HAVE_DECL_KVM_CAP_S390_CSS_SUPPORT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_S390_CSS_SUPPORT) == (85), "KVM_CAP_S390_CSS_SUPPORT != 85");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_S390_CSS_SUPPORT 85
#endif
#if defined(KVM_CAP_PPC_EPR) || (defined(HAVE_DECL_KVM_CAP_PPC_EPR) && HAVE_DECL_KVM_CAP_PPC_EPR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_EPR) == (86), "KVM_CAP_PPC_EPR != 86");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_EPR 86
#endif
#if defined(KVM_CAP_ARM_PSCI) || (defined(HAVE_DECL_KVM_CAP_ARM_PSCI) && HAVE_DECL_KVM_CAP_ARM_PSCI)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_ARM_PSCI) == (87), "KVM_CAP_ARM_PSCI != 87");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_ARM_PSCI 87
#endif
#if defined(KVM_CAP_ARM_SET_DEVICE_ADDR) || (defined(HAVE_DECL_KVM_CAP_ARM_SET_DEVICE_ADDR) && HAVE_DECL_KVM_CAP_ARM_SET_DEVICE_ADDR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_ARM_SET_DEVICE_ADDR) == (88), "KVM_CAP_ARM_SET_DEVICE_ADDR != 88");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_ARM_SET_DEVICE_ADDR 88
#endif
#if defined(KVM_CAP_DEVICE_CTRL) || (defined(HAVE_DECL_KVM_CAP_DEVICE_CTRL) && HAVE_DECL_KVM_CAP_DEVICE_CTRL)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_DEVICE_CTRL) == (89), "KVM_CAP_DEVICE_CTRL != 89");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_DEVICE_CTRL 89
#endif
#if defined(KVM_CAP_IRQ_MPIC) || (defined(HAVE_DECL_KVM_CAP_IRQ_MPIC) && HAVE_DECL_KVM_CAP_IRQ_MPIC)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_IRQ_MPIC) == (90), "KVM_CAP_IRQ_MPIC != 90");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_IRQ_MPIC 90
#endif
#if defined(KVM_CAP_PPC_RTAS) || (defined(HAVE_DECL_KVM_CAP_PPC_RTAS) && HAVE_DECL_KVM_CAP_PPC_RTAS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_RTAS) == (91), "KVM_CAP_PPC_RTAS != 91");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_RTAS 91
#endif
#if defined(KVM_CAP_IRQ_XICS) || (defined(HAVE_DECL_KVM_CAP_IRQ_XICS) && HAVE_DECL_KVM_CAP_IRQ_XICS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_IRQ_XICS) == (92), "KVM_CAP_IRQ_XICS != 92");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_IRQ_XICS 92
#endif
#if defined(KVM_CAP_ARM_EL1_32BIT) || (defined(HAVE_DECL_KVM_CAP_ARM_EL1_32BIT) && HAVE_DECL_KVM_CAP_ARM_EL1_32BIT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_ARM_EL1_32BIT) == (93), "KVM_CAP_ARM_EL1_32BIT != 93");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_ARM_EL1_32BIT 93
#endif
#if defined(KVM_CAP_SPAPR_MULTITCE) || (defined(HAVE_DECL_KVM_CAP_SPAPR_MULTITCE) && HAVE_DECL_KVM_CAP_SPAPR_MULTITCE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_SPAPR_MULTITCE) == (94), "KVM_CAP_SPAPR_MULTITCE != 94");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_SPAPR_MULTITCE 94
#endif
#if defined(KVM_CAP_EXT_EMUL_CPUID) || (defined(HAVE_DECL_KVM_CAP_EXT_EMUL_CPUID) && HAVE_DECL_KVM_CAP_EXT_EMUL_CPUID)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_EXT_EMUL_CPUID) == (95), "KVM_CAP_EXT_EMUL_CPUID != 95");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_EXT_EMUL_CPUID 95
#endif
#if defined(KVM_CAP_HYPERV_TIME) || (defined(HAVE_DECL_KVM_CAP_HYPERV_TIME) && HAVE_DECL_KVM_CAP_HYPERV_TIME)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_HYPERV_TIME) == (96), "KVM_CAP_HYPERV_TIME != 96");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_HYPERV_TIME 96
#endif
#if defined(KVM_CAP_IOAPIC_POLARITY_IGNORED) || (defined(HAVE_DECL_KVM_CAP_IOAPIC_POLARITY_IGNORED) && HAVE_DECL_KVM_CAP_IOAPIC_POLARITY_IGNORED)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_IOAPIC_POLARITY_IGNORED) == (97), "KVM_CAP_IOAPIC_POLARITY_IGNORED != 97");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_IOAPIC_POLARITY_IGNORED 97
#endif
#if defined(KVM_CAP_ENABLE_CAP_VM) || (defined(HAVE_DECL_KVM_CAP_ENABLE_CAP_VM) && HAVE_DECL_KVM_CAP_ENABLE_CAP_VM)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_ENABLE_CAP_VM) == (98), "KVM_CAP_ENABLE_CAP_VM != 98");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_ENABLE_CAP_VM 98
#endif
#if defined(KVM_CAP_S390_IRQCHIP) || (defined(HAVE_DECL_KVM_CAP_S390_IRQCHIP) && HAVE_DECL_KVM_CAP_S390_IRQCHIP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_S390_IRQCHIP) == (99), "KVM_CAP_S390_IRQCHIP != 99");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_S390_IRQCHIP 99
#endif
#if defined(KVM_CAP_IOEVENTFD_NO_LENGTH) || (defined(HAVE_DECL_KVM_CAP_IOEVENTFD_NO_LENGTH) && HAVE_DECL_KVM_CAP_IOEVENTFD_NO_LENGTH)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_IOEVENTFD_NO_LENGTH) == (100), "KVM_CAP_IOEVENTFD_NO_LENGTH != 100");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_IOEVENTFD_NO_LENGTH 100
#endif
#if defined(KVM_CAP_VM_ATTRIBUTES) || (defined(HAVE_DECL_KVM_CAP_VM_ATTRIBUTES) && HAVE_DECL_KVM_CAP_VM_ATTRIBUTES)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_VM_ATTRIBUTES) == (101), "KVM_CAP_VM_ATTRIBUTES != 101");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_VM_ATTRIBUTES 101
#endif
#if defined(KVM_CAP_ARM_PSCI_0_2) || (defined(HAVE_DECL_KVM_CAP_ARM_PSCI_0_2) && HAVE_DECL_KVM_CAP_ARM_PSCI_0_2)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_ARM_PSCI_0_2) == (102), "KVM_CAP_ARM_PSCI_0_2 != 102");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_ARM_PSCI_0_2 102
#endif
#if defined(KVM_CAP_PPC_FIXUP_HCALL) || (defined(HAVE_DECL_KVM_CAP_PPC_FIXUP_HCALL) && HAVE_DECL_KVM_CAP_PPC_FIXUP_HCALL)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_FIXUP_HCALL) == (103), "KVM_CAP_PPC_FIXUP_HCALL != 103");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_FIXUP_HCALL 103
#endif
#if defined(KVM_CAP_PPC_ENABLE_HCALL) || (defined(HAVE_DECL_KVM_CAP_PPC_ENABLE_HCALL) && HAVE_DECL_KVM_CAP_PPC_ENABLE_HCALL)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_ENABLE_HCALL) == (104), "KVM_CAP_PPC_ENABLE_HCALL != 104");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_ENABLE_HCALL 104
#endif
#if defined(KVM_CAP_CHECK_EXTENSION_VM) || (defined(HAVE_DECL_KVM_CAP_CHECK_EXTENSION_VM) && HAVE_DECL_KVM_CAP_CHECK_EXTENSION_VM)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_CHECK_EXTENSION_VM) == (105), "KVM_CAP_CHECK_EXTENSION_VM != 105");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_CHECK_EXTENSION_VM 105
#endif
#if defined(KVM_CAP_S390_USER_SIGP) || (defined(HAVE_DECL_KVM_CAP_S390_USER_SIGP) && HAVE_DECL_KVM_CAP_S390_USER_SIGP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_S390_USER_SIGP) == (106), "KVM_CAP_S390_USER_SIGP != 106");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_S390_USER_SIGP 106
#endif
#if defined(KVM_CAP_S390_VECTOR_REGISTERS) || (defined(HAVE_DECL_KVM_CAP_S390_VECTOR_REGISTERS) && HAVE_DECL_KVM_CAP_S390_VECTOR_REGISTERS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_S390_VECTOR_REGISTERS) == (107), "KVM_CAP_S390_VECTOR_REGISTERS != 107");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_S390_VECTOR_REGISTERS 107
#endif
#if defined(KVM_CAP_S390_MEM_OP) || (defined(HAVE_DECL_KVM_CAP_S390_MEM_OP) && HAVE_DECL_KVM_CAP_S390_MEM_OP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_S390_MEM_OP) == (108), "KVM_CAP_S390_MEM_OP != 108");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_S390_MEM_OP 108
#endif
#if defined(KVM_CAP_S390_USER_STSI) || (defined(HAVE_DECL_KVM_CAP_S390_USER_STSI) && HAVE_DECL_KVM_CAP_S390_USER_STSI)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_S390_USER_STSI) == (109), "KVM_CAP_S390_USER_STSI != 109");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_S390_USER_STSI 109
#endif
#if defined(KVM_CAP_S390_SKEYS) || (defined(HAVE_DECL_KVM_CAP_S390_SKEYS) && HAVE_DECL_KVM_CAP_S390_SKEYS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_S390_SKEYS) == (110), "KVM_CAP_S390_SKEYS != 110");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_S390_SKEYS 110
#endif
#if defined(KVM_CAP_MIPS_FPU) || (defined(HAVE_DECL_KVM_CAP_MIPS_FPU) && HAVE_DECL_KVM_CAP_MIPS_FPU)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_MIPS_FPU) == (111), "KVM_CAP_MIPS_FPU != 111");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_MIPS_FPU 111
#endif
#if defined(KVM_CAP_MIPS_MSA) || (defined(HAVE_DECL_KVM_CAP_MIPS_MSA) && HAVE_DECL_KVM_CAP_MIPS_MSA)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_MIPS_MSA) == (112), "KVM_CAP_MIPS_MSA != 112");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_MIPS_MSA 112
#endif
#if defined(KVM_CAP_S390_INJECT_IRQ) || (defined(HAVE_DECL_KVM_CAP_S390_INJECT_IRQ) && HAVE_DECL_KVM_CAP_S390_INJECT_IRQ)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_S390_INJECT_IRQ) == (113), "KVM_CAP_S390_INJECT_IRQ != 113");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_S390_INJECT_IRQ 113
#endif
#if defined(KVM_CAP_S390_IRQ_STATE) || (defined(HAVE_DECL_KVM_CAP_S390_IRQ_STATE) && HAVE_DECL_KVM_CAP_S390_IRQ_STATE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_S390_IRQ_STATE) == (114), "KVM_CAP_S390_IRQ_STATE != 114");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_S390_IRQ_STATE 114
#endif
#if defined(KVM_CAP_PPC_HWRNG) || (defined(HAVE_DECL_KVM_CAP_PPC_HWRNG) && HAVE_DECL_KVM_CAP_PPC_HWRNG)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_HWRNG) == (115), "KVM_CAP_PPC_HWRNG != 115");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_HWRNG 115
#endif
#if defined(KVM_CAP_DISABLE_QUIRKS) || (defined(HAVE_DECL_KVM_CAP_DISABLE_QUIRKS) && HAVE_DECL_KVM_CAP_DISABLE_QUIRKS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_DISABLE_QUIRKS) == (116), "KVM_CAP_DISABLE_QUIRKS != 116");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_DISABLE_QUIRKS 116
#endif
#if defined(KVM_CAP_X86_SMM) || (defined(HAVE_DECL_KVM_CAP_X86_SMM) && HAVE_DECL_KVM_CAP_X86_SMM)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_X86_SMM) == (117), "KVM_CAP_X86_SMM != 117");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_X86_SMM 117
#endif
#if defined(KVM_CAP_MULTI_ADDRESS_SPACE) || (defined(HAVE_DECL_KVM_CAP_MULTI_ADDRESS_SPACE) && HAVE_DECL_KVM_CAP_MULTI_ADDRESS_SPACE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_MULTI_ADDRESS_SPACE) == (118), "KVM_CAP_MULTI_ADDRESS_SPACE != 118");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_MULTI_ADDRESS_SPACE 118
#endif
#if defined(KVM_CAP_GUEST_DEBUG_HW_BPS) || (defined(HAVE_DECL_KVM_CAP_GUEST_DEBUG_HW_BPS) && HAVE_DECL_KVM_CAP_GUEST_DEBUG_HW_BPS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_GUEST_DEBUG_HW_BPS) == (119), "KVM_CAP_GUEST_DEBUG_HW_BPS != 119");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_GUEST_DEBUG_HW_BPS 119
#endif
#if defined(KVM_CAP_GUEST_DEBUG_HW_WPS) || (defined(HAVE_DECL_KVM_CAP_GUEST_DEBUG_HW_WPS) && HAVE_DECL_KVM_CAP_GUEST_DEBUG_HW_WPS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_GUEST_DEBUG_HW_WPS) == (120), "KVM_CAP_GUEST_DEBUG_HW_WPS != 120");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_GUEST_DEBUG_HW_WPS 120
#endif
#if defined(KVM_CAP_SPLIT_IRQCHIP) || (defined(HAVE_DECL_KVM_CAP_SPLIT_IRQCHIP) && HAVE_DECL_KVM_CAP_SPLIT_IRQCHIP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_SPLIT_IRQCHIP) == (121), "KVM_CAP_SPLIT_IRQCHIP != 121");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_SPLIT_IRQCHIP 121
#endif
#if defined(KVM_CAP_IOEVENTFD_ANY_LENGTH) || (defined(HAVE_DECL_KVM_CAP_IOEVENTFD_ANY_LENGTH) && HAVE_DECL_KVM_CAP_IOEVENTFD_ANY_LENGTH)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_IOEVENTFD_ANY_LENGTH) == (122), "KVM_CAP_IOEVENTFD_ANY_LENGTH != 122");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_IOEVENTFD_ANY_LENGTH 122
#endif
#if defined(KVM_CAP_HYPERV_SYNIC) || (defined(HAVE_DECL_KVM_CAP_HYPERV_SYNIC) && HAVE_DECL_KVM_CAP_HYPERV_SYNIC)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_HYPERV_SYNIC) == (123), "KVM_CAP_HYPERV_SYNIC != 123");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_HYPERV_SYNIC 123
#endif
#if defined(KVM_CAP_S390_RI) || (defined(HAVE_DECL_KVM_CAP_S390_RI) && HAVE_DECL_KVM_CAP_S390_RI)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_S390_RI) == (124), "KVM_CAP_S390_RI != 124");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_S390_RI 124
#endif
#if defined(KVM_CAP_SPAPR_TCE_64) || (defined(HAVE_DECL_KVM_CAP_SPAPR_TCE_64) && HAVE_DECL_KVM_CAP_SPAPR_TCE_64)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_SPAPR_TCE_64) == (125), "KVM_CAP_SPAPR_TCE_64 != 125");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_SPAPR_TCE_64 125
#endif
#if defined(KVM_CAP_ARM_PMU_V3) || (defined(HAVE_DECL_KVM_CAP_ARM_PMU_V3) && HAVE_DECL_KVM_CAP_ARM_PMU_V3)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_ARM_PMU_V3) == (126), "KVM_CAP_ARM_PMU_V3 != 126");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_ARM_PMU_V3 126
#endif
#if defined(KVM_CAP_VCPU_ATTRIBUTES) || (defined(HAVE_DECL_KVM_CAP_VCPU_ATTRIBUTES) && HAVE_DECL_KVM_CAP_VCPU_ATTRIBUTES)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_VCPU_ATTRIBUTES) == (127), "KVM_CAP_VCPU_ATTRIBUTES != 127");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_VCPU_ATTRIBUTES 127
#endif
#if defined(KVM_CAP_MAX_VCPU_ID) || (defined(HAVE_DECL_KVM_CAP_MAX_VCPU_ID) && HAVE_DECL_KVM_CAP_MAX_VCPU_ID)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_MAX_VCPU_ID) == (128), "KVM_CAP_MAX_VCPU_ID != 128");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_MAX_VCPU_ID 128
#endif
#if defined(KVM_CAP_X2APIC_API) || (defined(HAVE_DECL_KVM_CAP_X2APIC_API) && HAVE_DECL_KVM_CAP_X2APIC_API)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_X2APIC_API) == (129), "KVM_CAP_X2APIC_API != 129");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_X2APIC_API 129
#endif
#if defined(KVM_CAP_S390_USER_INSTR0) || (defined(HAVE_DECL_KVM_CAP_S390_USER_INSTR0) && HAVE_DECL_KVM_CAP_S390_USER_INSTR0)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_S390_USER_INSTR0) == (130), "KVM_CAP_S390_USER_INSTR0 != 130");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_S390_USER_INSTR0 130
#endif
#if defined(KVM_CAP_MSI_DEVID) || (defined(HAVE_DECL_KVM_CAP_MSI_DEVID) && HAVE_DECL_KVM_CAP_MSI_DEVID)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_MSI_DEVID) == (131), "KVM_CAP_MSI_DEVID != 131");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_MSI_DEVID 131
#endif
#if defined(KVM_CAP_PPC_HTM) || (defined(HAVE_DECL_KVM_CAP_PPC_HTM) && HAVE_DECL_KVM_CAP_PPC_HTM)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_HTM) == (132), "KVM_CAP_PPC_HTM != 132");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_HTM 132
#endif
#if defined(KVM_CAP_SPAPR_RESIZE_HPT) || (defined(HAVE_DECL_KVM_CAP_SPAPR_RESIZE_HPT) && HAVE_DECL_KVM_CAP_SPAPR_RESIZE_HPT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_SPAPR_RESIZE_HPT) == (133), "KVM_CAP_SPAPR_RESIZE_HPT != 133");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_SPAPR_RESIZE_HPT 133
#endif
#if defined(KVM_CAP_PPC_MMU_RADIX) || (defined(HAVE_DECL_KVM_CAP_PPC_MMU_RADIX) && HAVE_DECL_KVM_CAP_PPC_MMU_RADIX)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_MMU_RADIX) == (134), "KVM_CAP_PPC_MMU_RADIX != 134");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_MMU_RADIX 134
#endif
#if defined(KVM_CAP_PPC_MMU_HASH_V3) || (defined(HAVE_DECL_KVM_CAP_PPC_MMU_HASH_V3) && HAVE_DECL_KVM_CAP_PPC_MMU_HASH_V3)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_MMU_HASH_V3) == (135), "KVM_CAP_PPC_MMU_HASH_V3 != 135");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_MMU_HASH_V3 135
#endif
#if defined(KVM_CAP_IMMEDIATE_EXIT) || (defined(HAVE_DECL_KVM_CAP_IMMEDIATE_EXIT) && HAVE_DECL_KVM_CAP_IMMEDIATE_EXIT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_IMMEDIATE_EXIT) == (136), "KVM_CAP_IMMEDIATE_EXIT != 136");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_IMMEDIATE_EXIT 136
#endif
#if defined(KVM_CAP_MIPS_VZ) || (defined(HAVE_DECL_KVM_CAP_MIPS_VZ) && HAVE_DECL_KVM_CAP_MIPS_VZ)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_MIPS_VZ) == (137), "KVM_CAP_MIPS_VZ != 137");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_MIPS_VZ 137
#endif
#if defined(KVM_CAP_MIPS_TE) || (defined(HAVE_DECL_KVM_CAP_MIPS_TE) && HAVE_DECL_KVM_CAP_MIPS_TE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_MIPS_TE) == (138), "KVM_CAP_MIPS_TE != 138");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_MIPS_TE 138
#endif
#if defined(KVM_CAP_MIPS_64BIT) || (defined(HAVE_DECL_KVM_CAP_MIPS_64BIT) && HAVE_DECL_KVM_CAP_MIPS_64BIT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_MIPS_64BIT) == (139), "KVM_CAP_MIPS_64BIT != 139");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_MIPS_64BIT 139
#endif
#if defined(KVM_CAP_S390_GS) || (defined(HAVE_DECL_KVM_CAP_S390_GS) && HAVE_DECL_KVM_CAP_S390_GS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_S390_GS) == (140), "KVM_CAP_S390_GS != 140");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_S390_GS 140
#endif
#if defined(KVM_CAP_S390_AIS) || (defined(HAVE_DECL_KVM_CAP_S390_AIS) && HAVE_DECL_KVM_CAP_S390_AIS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_S390_AIS) == (141), "KVM_CAP_S390_AIS != 141");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_S390_AIS 141
#endif
#if defined(KVM_CAP_SPAPR_TCE_VFIO) || (defined(HAVE_DECL_KVM_CAP_SPAPR_TCE_VFIO) && HAVE_DECL_KVM_CAP_SPAPR_TCE_VFIO)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_SPAPR_TCE_VFIO) == (142), "KVM_CAP_SPAPR_TCE_VFIO != 142");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_SPAPR_TCE_VFIO 142
#endif
#if defined(KVM_CAP_X86_DISABLE_EXITS) || (defined(HAVE_DECL_KVM_CAP_X86_DISABLE_EXITS) && HAVE_DECL_KVM_CAP_X86_DISABLE_EXITS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_X86_DISABLE_EXITS) == (143), "KVM_CAP_X86_DISABLE_EXITS != 143");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_X86_DISABLE_EXITS 143
#endif
#if defined(KVM_CAP_ARM_USER_IRQ) || (defined(HAVE_DECL_KVM_CAP_ARM_USER_IRQ) && HAVE_DECL_KVM_CAP_ARM_USER_IRQ)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_ARM_USER_IRQ) == (144), "KVM_CAP_ARM_USER_IRQ != 144");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_ARM_USER_IRQ 144
#endif
#if defined(KVM_CAP_S390_CMMA_MIGRATION) || (defined(HAVE_DECL_KVM_CAP_S390_CMMA_MIGRATION) && HAVE_DECL_KVM_CAP_S390_CMMA_MIGRATION)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_S390_CMMA_MIGRATION) == (145), "KVM_CAP_S390_CMMA_MIGRATION != 145");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_S390_CMMA_MIGRATION 145
#endif
#if defined(KVM_CAP_PPC_FWNMI) || (defined(HAVE_DECL_KVM_CAP_PPC_FWNMI) && HAVE_DECL_KVM_CAP_PPC_FWNMI)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_FWNMI) == (146), "KVM_CAP_PPC_FWNMI != 146");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_FWNMI 146
#endif
#if defined(KVM_CAP_PPC_SMT_POSSIBLE) || (defined(HAVE_DECL_KVM_CAP_PPC_SMT_POSSIBLE) && HAVE_DECL_KVM_CAP_PPC_SMT_POSSIBLE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_SMT_POSSIBLE) == (147), "KVM_CAP_PPC_SMT_POSSIBLE != 147");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_SMT_POSSIBLE 147
#endif
#if defined(KVM_CAP_HYPERV_SYNIC2) || (defined(HAVE_DECL_KVM_CAP_HYPERV_SYNIC2) && HAVE_DECL_KVM_CAP_HYPERV_SYNIC2)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_HYPERV_SYNIC2) == (148), "KVM_CAP_HYPERV_SYNIC2 != 148");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_HYPERV_SYNIC2 148
#endif
#if defined(KVM_CAP_HYPERV_VP_INDEX) || (defined(HAVE_DECL_KVM_CAP_HYPERV_VP_INDEX) && HAVE_DECL_KVM_CAP_HYPERV_VP_INDEX)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_HYPERV_VP_INDEX) == (149), "KVM_CAP_HYPERV_VP_INDEX != 149");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_HYPERV_VP_INDEX 149
#endif
#if defined(KVM_CAP_S390_AIS_MIGRATION) || (defined(HAVE_DECL_KVM_CAP_S390_AIS_MIGRATION) && HAVE_DECL_KVM_CAP_S390_AIS_MIGRATION)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_S390_AIS_MIGRATION) == (150), "KVM_CAP_S390_AIS_MIGRATION != 150");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_S390_AIS_MIGRATION 150
#endif
#if defined(KVM_CAP_PPC_GET_CPU_CHAR) || (defined(HAVE_DECL_KVM_CAP_PPC_GET_CPU_CHAR) && HAVE_DECL_KVM_CAP_PPC_GET_CPU_CHAR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_PPC_GET_CPU_CHAR) == (151), "KVM_CAP_PPC_GET_CPU_CHAR != 151");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_PPC_GET_CPU_CHAR 151
#endif
#if defined(KVM_CAP_S390_BPB) || (defined(HAVE_DECL_KVM_CAP_S390_BPB) && HAVE_DECL_KVM_CAP_S390_BPB)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_S390_BPB) == (152), "KVM_CAP_S390_BPB != 152");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_S390_BPB 152
#endif
#if defined(KVM_CAP_GET_MSR_FEATURES) || (defined(HAVE_DECL_KVM_CAP_GET_MSR_FEATURES) && HAVE_DECL_KVM_CAP_GET_MSR_FEATURES)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_GET_MSR_FEATURES) == (153), "KVM_CAP_GET_MSR_FEATURES != 153");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_GET_MSR_FEATURES 153
#endif
#if defined(KVM_CAP_HYPERV_EVENTFD) || (defined(HAVE_DECL_KVM_CAP_HYPERV_EVENTFD) && HAVE_DECL_KVM_CAP_HYPERV_EVENTFD)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_HYPERV_EVENTFD) == (154), "KVM_CAP_HYPERV_EVENTFD != 154");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_HYPERV_EVENTFD 154
#endif
#if defined(KVM_CAP_HYPERV_TLBFLUSH) || (defined(HAVE_DECL_KVM_CAP_HYPERV_TLBFLUSH) && HAVE_DECL_KVM_CAP_HYPERV_TLBFLUSH)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_HYPERV_TLBFLUSH) == (155), "KVM_CAP_HYPERV_TLBFLUSH != 155");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_HYPERV_TLBFLUSH 155
#endif
#if defined(KVM_CAP_S390_HPAGE_1M) || (defined(HAVE_DECL_KVM_CAP_S390_HPAGE_1M) && HAVE_DECL_KVM_CAP_S390_HPAGE_1M)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((KVM_CAP_S390_HPAGE_1M) == (156), "KVM_CAP_S390_HPAGE_1M != 156");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define KVM_CAP_S390_HPAGE_1M 156
#endif

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat kvm_cap in mpers mode

# else

static
const struct xlat kvm_cap[] = {
 [KVM_CAP_IRQCHIP] = XLAT(KVM_CAP_IRQCHIP),
 [KVM_CAP_HLT] = XLAT(KVM_CAP_HLT),
 [KVM_CAP_MMU_SHADOW_CACHE_CONTROL] = XLAT(KVM_CAP_MMU_SHADOW_CACHE_CONTROL),
 [KVM_CAP_USER_MEMORY] = XLAT(KVM_CAP_USER_MEMORY),
 [KVM_CAP_SET_TSS_ADDR] = XLAT(KVM_CAP_SET_TSS_ADDR),
 [KVM_CAP_VAPIC] = XLAT(KVM_CAP_VAPIC),
 [KVM_CAP_EXT_CPUID] = XLAT(KVM_CAP_EXT_CPUID),
 [KVM_CAP_CLOCKSOURCE] = XLAT(KVM_CAP_CLOCKSOURCE),
 [KVM_CAP_NR_VCPUS] = XLAT(KVM_CAP_NR_VCPUS),
 [KVM_CAP_NR_MEMSLOTS] = XLAT(KVM_CAP_NR_MEMSLOTS),
 [KVM_CAP_PIT] = XLAT(KVM_CAP_PIT),
 [KVM_CAP_NOP_IO_DELAY] = XLAT(KVM_CAP_NOP_IO_DELAY),
 [KVM_CAP_PV_MMU] = XLAT(KVM_CAP_PV_MMU),
 [KVM_CAP_MP_STATE] = XLAT(KVM_CAP_MP_STATE),
 [KVM_CAP_COALESCED_MMIO] = XLAT(KVM_CAP_COALESCED_MMIO),
 [KVM_CAP_SYNC_MMU] = XLAT(KVM_CAP_SYNC_MMU),
 [KVM_CAP_IOMMU] = XLAT(KVM_CAP_IOMMU),
 [KVM_CAP_DESTROY_MEMORY_REGION_WORKS] = XLAT(KVM_CAP_DESTROY_MEMORY_REGION_WORKS),
 [KVM_CAP_USER_NMI] = XLAT(KVM_CAP_USER_NMI),
 [KVM_CAP_SET_GUEST_DEBUG] = XLAT(KVM_CAP_SET_GUEST_DEBUG),
 [KVM_CAP_REINJECT_CONTROL] = XLAT(KVM_CAP_REINJECT_CONTROL),
 [KVM_CAP_IRQ_ROUTING] = XLAT(KVM_CAP_IRQ_ROUTING),
 [KVM_CAP_IRQ_INJECT_STATUS] = XLAT(KVM_CAP_IRQ_INJECT_STATUS),
 [KVM_CAP_ASSIGN_DEV_IRQ] = XLAT(KVM_CAP_ASSIGN_DEV_IRQ),
 [KVM_CAP_JOIN_MEMORY_REGIONS_WORKS] = XLAT(KVM_CAP_JOIN_MEMORY_REGIONS_WORKS),
 [KVM_CAP_MCE] = XLAT(KVM_CAP_MCE),
 [KVM_CAP_IRQFD] = XLAT(KVM_CAP_IRQFD),
 [KVM_CAP_PIT2] = XLAT(KVM_CAP_PIT2),
 [KVM_CAP_SET_BOOT_CPU_ID] = XLAT(KVM_CAP_SET_BOOT_CPU_ID),
 [KVM_CAP_PIT_STATE2] = XLAT(KVM_CAP_PIT_STATE2),
 [KVM_CAP_IOEVENTFD] = XLAT(KVM_CAP_IOEVENTFD),
 [KVM_CAP_SET_IDENTITY_MAP_ADDR] = XLAT(KVM_CAP_SET_IDENTITY_MAP_ADDR),
 [KVM_CAP_XEN_HVM] = XLAT(KVM_CAP_XEN_HVM),
 [KVM_CAP_ADJUST_CLOCK] = XLAT(KVM_CAP_ADJUST_CLOCK),
 [KVM_CAP_INTERNAL_ERROR_DATA] = XLAT(KVM_CAP_INTERNAL_ERROR_DATA),
 [KVM_CAP_VCPU_EVENTS] = XLAT(KVM_CAP_VCPU_EVENTS),
 [KVM_CAP_S390_PSW] = XLAT(KVM_CAP_S390_PSW),
 [KVM_CAP_PPC_SEGSTATE] = XLAT(KVM_CAP_PPC_SEGSTATE),
 [KVM_CAP_HYPERV] = XLAT(KVM_CAP_HYPERV),
 [KVM_CAP_HYPERV_VAPIC] = XLAT(KVM_CAP_HYPERV_VAPIC),
 [KVM_CAP_HYPERV_SPIN] = XLAT(KVM_CAP_HYPERV_SPIN),
 [KVM_CAP_PCI_SEGMENT] = XLAT(KVM_CAP_PCI_SEGMENT),
 [KVM_CAP_PPC_PAIRED_SINGLES] = XLAT(KVM_CAP_PPC_PAIRED_SINGLES),
 [KVM_CAP_INTR_SHADOW] = XLAT(KVM_CAP_INTR_SHADOW),
 [KVM_CAP_DEBUGREGS] = XLAT(KVM_CAP_DEBUGREGS),
 [KVM_CAP_X86_ROBUST_SINGLESTEP] = XLAT(KVM_CAP_X86_ROBUST_SINGLESTEP),
 [KVM_CAP_PPC_OSI] = XLAT(KVM_CAP_PPC_OSI),
 [KVM_CAP_PPC_UNSET_IRQ] = XLAT(KVM_CAP_PPC_UNSET_IRQ),
 [KVM_CAP_ENABLE_CAP] = XLAT(KVM_CAP_ENABLE_CAP),
 [KVM_CAP_XSAVE] = XLAT(KVM_CAP_XSAVE),
 [KVM_CAP_XCRS] = XLAT(KVM_CAP_XCRS),
 [KVM_CAP_PPC_GET_PVINFO] = XLAT(KVM_CAP_PPC_GET_PVINFO),
 [KVM_CAP_PPC_IRQ_LEVEL] = XLAT(KVM_CAP_PPC_IRQ_LEVEL),
 [KVM_CAP_ASYNC_PF] = XLAT(KVM_CAP_ASYNC_PF),
 [KVM_CAP_TSC_CONTROL] = XLAT(KVM_CAP_TSC_CONTROL),
 [KVM_CAP_GET_TSC_KHZ] = XLAT(KVM_CAP_GET_TSC_KHZ),
 [KVM_CAP_PPC_BOOKE_SREGS] = XLAT(KVM_CAP_PPC_BOOKE_SREGS),
 [KVM_CAP_SPAPR_TCE] = XLAT(KVM_CAP_SPAPR_TCE),
 [KVM_CAP_PPC_SMT] = XLAT(KVM_CAP_PPC_SMT),
 [KVM_CAP_PPC_RMA] = XLAT(KVM_CAP_PPC_RMA),
 [KVM_CAP_MAX_VCPUS] = XLAT(KVM_CAP_MAX_VCPUS),
 [KVM_CAP_PPC_HIOR] = XLAT(KVM_CAP_PPC_HIOR),
 [KVM_CAP_PPC_PAPR] = XLAT(KVM_CAP_PPC_PAPR),
 [KVM_CAP_SW_TLB] = XLAT(KVM_CAP_SW_TLB),
 [KVM_CAP_ONE_REG] = XLAT(KVM_CAP_ONE_REG),
 [KVM_CAP_S390_GMAP] = XLAT(KVM_CAP_S390_GMAP),
 [KVM_CAP_TSC_DEADLINE_TIMER] = XLAT(KVM_CAP_TSC_DEADLINE_TIMER),
 [KVM_CAP_S390_UCONTROL] = XLAT(KVM_CAP_S390_UCONTROL),
 [KVM_CAP_SYNC_REGS] = XLAT(KVM_CAP_SYNC_REGS),
 [KVM_CAP_PCI_2_3] = XLAT(KVM_CAP_PCI_2_3),
 [KVM_CAP_KVMCLOCK_CTRL] = XLAT(KVM_CAP_KVMCLOCK_CTRL),
 [KVM_CAP_SIGNAL_MSI] = XLAT(KVM_CAP_SIGNAL_MSI),
 [KVM_CAP_PPC_GET_SMMU_INFO] = XLAT(KVM_CAP_PPC_GET_SMMU_INFO),
 [KVM_CAP_S390_COW] = XLAT(KVM_CAP_S390_COW),
 [KVM_CAP_PPC_ALLOC_HTAB] = XLAT(KVM_CAP_PPC_ALLOC_HTAB),
 [KVM_CAP_READONLY_MEM] = XLAT(KVM_CAP_READONLY_MEM),
 [KVM_CAP_IRQFD_RESAMPLE] = XLAT(KVM_CAP_IRQFD_RESAMPLE),
 [KVM_CAP_PPC_BOOKE_WATCHDOG] = XLAT(KVM_CAP_PPC_BOOKE_WATCHDOG),
 [KVM_CAP_PPC_HTAB_FD] = XLAT(KVM_CAP_PPC_HTAB_FD),
 [KVM_CAP_S390_CSS_SUPPORT] = XLAT(KVM_CAP_S390_CSS_SUPPORT),
 [KVM_CAP_PPC_EPR] = XLAT(KVM_CAP_PPC_EPR),
 [KVM_CAP_ARM_PSCI] = XLAT(KVM_CAP_ARM_PSCI),
 [KVM_CAP_ARM_SET_DEVICE_ADDR] = XLAT(KVM_CAP_ARM_SET_DEVICE_ADDR),
 [KVM_CAP_DEVICE_CTRL] = XLAT(KVM_CAP_DEVICE_CTRL),
 [KVM_CAP_IRQ_MPIC] = XLAT(KVM_CAP_IRQ_MPIC),
 [KVM_CAP_PPC_RTAS] = XLAT(KVM_CAP_PPC_RTAS),
 [KVM_CAP_IRQ_XICS] = XLAT(KVM_CAP_IRQ_XICS),
 [KVM_CAP_ARM_EL1_32BIT] = XLAT(KVM_CAP_ARM_EL1_32BIT),
 [KVM_CAP_SPAPR_MULTITCE] = XLAT(KVM_CAP_SPAPR_MULTITCE),
 [KVM_CAP_EXT_EMUL_CPUID] = XLAT(KVM_CAP_EXT_EMUL_CPUID),
 [KVM_CAP_HYPERV_TIME] = XLAT(KVM_CAP_HYPERV_TIME),
 [KVM_CAP_IOAPIC_POLARITY_IGNORED] = XLAT(KVM_CAP_IOAPIC_POLARITY_IGNORED),
 [KVM_CAP_ENABLE_CAP_VM] = XLAT(KVM_CAP_ENABLE_CAP_VM),
 [KVM_CAP_S390_IRQCHIP] = XLAT(KVM_CAP_S390_IRQCHIP),
 [KVM_CAP_IOEVENTFD_NO_LENGTH] = XLAT(KVM_CAP_IOEVENTFD_NO_LENGTH),
 [KVM_CAP_VM_ATTRIBUTES] = XLAT(KVM_CAP_VM_ATTRIBUTES),
 [KVM_CAP_ARM_PSCI_0_2] = XLAT(KVM_CAP_ARM_PSCI_0_2),
 [KVM_CAP_PPC_FIXUP_HCALL] = XLAT(KVM_CAP_PPC_FIXUP_HCALL),
 [KVM_CAP_PPC_ENABLE_HCALL] = XLAT(KVM_CAP_PPC_ENABLE_HCALL),
 [KVM_CAP_CHECK_EXTENSION_VM] = XLAT(KVM_CAP_CHECK_EXTENSION_VM),
 [KVM_CAP_S390_USER_SIGP] = XLAT(KVM_CAP_S390_USER_SIGP),
 [KVM_CAP_S390_VECTOR_REGISTERS] = XLAT(KVM_CAP_S390_VECTOR_REGISTERS),
 [KVM_CAP_S390_MEM_OP] = XLAT(KVM_CAP_S390_MEM_OP),
 [KVM_CAP_S390_USER_STSI] = XLAT(KVM_CAP_S390_USER_STSI),
 [KVM_CAP_S390_SKEYS] = XLAT(KVM_CAP_S390_SKEYS),
 [KVM_CAP_MIPS_FPU] = XLAT(KVM_CAP_MIPS_FPU),
 [KVM_CAP_MIPS_MSA] = XLAT(KVM_CAP_MIPS_MSA),
 [KVM_CAP_S390_INJECT_IRQ] = XLAT(KVM_CAP_S390_INJECT_IRQ),
 [KVM_CAP_S390_IRQ_STATE] = XLAT(KVM_CAP_S390_IRQ_STATE),
 [KVM_CAP_PPC_HWRNG] = XLAT(KVM_CAP_PPC_HWRNG),
 [KVM_CAP_DISABLE_QUIRKS] = XLAT(KVM_CAP_DISABLE_QUIRKS),
 [KVM_CAP_X86_SMM] = XLAT(KVM_CAP_X86_SMM),
 [KVM_CAP_MULTI_ADDRESS_SPACE] = XLAT(KVM_CAP_MULTI_ADDRESS_SPACE),
 [KVM_CAP_GUEST_DEBUG_HW_BPS] = XLAT(KVM_CAP_GUEST_DEBUG_HW_BPS),
 [KVM_CAP_GUEST_DEBUG_HW_WPS] = XLAT(KVM_CAP_GUEST_DEBUG_HW_WPS),
 [KVM_CAP_SPLIT_IRQCHIP] = XLAT(KVM_CAP_SPLIT_IRQCHIP),
 [KVM_CAP_IOEVENTFD_ANY_LENGTH] = XLAT(KVM_CAP_IOEVENTFD_ANY_LENGTH),
 [KVM_CAP_HYPERV_SYNIC] = XLAT(KVM_CAP_HYPERV_SYNIC),
 [KVM_CAP_S390_RI] = XLAT(KVM_CAP_S390_RI),
 [KVM_CAP_SPAPR_TCE_64] = XLAT(KVM_CAP_SPAPR_TCE_64),
 [KVM_CAP_ARM_PMU_V3] = XLAT(KVM_CAP_ARM_PMU_V3),
 [KVM_CAP_VCPU_ATTRIBUTES] = XLAT(KVM_CAP_VCPU_ATTRIBUTES),
 [KVM_CAP_MAX_VCPU_ID] = XLAT(KVM_CAP_MAX_VCPU_ID),
 [KVM_CAP_X2APIC_API] = XLAT(KVM_CAP_X2APIC_API),
 [KVM_CAP_S390_USER_INSTR0] = XLAT(KVM_CAP_S390_USER_INSTR0),
 [KVM_CAP_MSI_DEVID] = XLAT(KVM_CAP_MSI_DEVID),
 [KVM_CAP_PPC_HTM] = XLAT(KVM_CAP_PPC_HTM),
 [KVM_CAP_SPAPR_RESIZE_HPT] = XLAT(KVM_CAP_SPAPR_RESIZE_HPT),
 [KVM_CAP_PPC_MMU_RADIX] = XLAT(KVM_CAP_PPC_MMU_RADIX),
 [KVM_CAP_PPC_MMU_HASH_V3] = XLAT(KVM_CAP_PPC_MMU_HASH_V3),
 [KVM_CAP_IMMEDIATE_EXIT] = XLAT(KVM_CAP_IMMEDIATE_EXIT),
 [KVM_CAP_MIPS_VZ] = XLAT(KVM_CAP_MIPS_VZ),
 [KVM_CAP_MIPS_TE] = XLAT(KVM_CAP_MIPS_TE),
 [KVM_CAP_MIPS_64BIT] = XLAT(KVM_CAP_MIPS_64BIT),
 [KVM_CAP_S390_GS] = XLAT(KVM_CAP_S390_GS),
 [KVM_CAP_S390_AIS] = XLAT(KVM_CAP_S390_AIS),
 [KVM_CAP_SPAPR_TCE_VFIO] = XLAT(KVM_CAP_SPAPR_TCE_VFIO),
 [KVM_CAP_X86_DISABLE_EXITS] = XLAT(KVM_CAP_X86_DISABLE_EXITS),
 [KVM_CAP_ARM_USER_IRQ] = XLAT(KVM_CAP_ARM_USER_IRQ),
 [KVM_CAP_S390_CMMA_MIGRATION] = XLAT(KVM_CAP_S390_CMMA_MIGRATION),
 [KVM_CAP_PPC_FWNMI] = XLAT(KVM_CAP_PPC_FWNMI),
 [KVM_CAP_PPC_SMT_POSSIBLE] = XLAT(KVM_CAP_PPC_SMT_POSSIBLE),
 [KVM_CAP_HYPERV_SYNIC2] = XLAT(KVM_CAP_HYPERV_SYNIC2),
 [KVM_CAP_HYPERV_VP_INDEX] = XLAT(KVM_CAP_HYPERV_VP_INDEX),
 [KVM_CAP_S390_AIS_MIGRATION] = XLAT(KVM_CAP_S390_AIS_MIGRATION),
 [KVM_CAP_PPC_GET_CPU_CHAR] = XLAT(KVM_CAP_PPC_GET_CPU_CHAR),
 [KVM_CAP_S390_BPB] = XLAT(KVM_CAP_S390_BPB),
 [KVM_CAP_GET_MSR_FEATURES] = XLAT(KVM_CAP_GET_MSR_FEATURES),
 [KVM_CAP_HYPERV_EVENTFD] = XLAT(KVM_CAP_HYPERV_EVENTFD),
 [KVM_CAP_HYPERV_TLBFLUSH] = XLAT(KVM_CAP_HYPERV_TLBFLUSH),
 [KVM_CAP_S390_HPAGE_1M] = XLAT(KVM_CAP_S390_HPAGE_1M),
 XLAT_END
};

# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
