<commit_before>/*
 * qemu_capabilities.h: QEMU capabilities generation
 *
 * Copyright (C) 2006-2016 Red Hat, Inc.
 * Copyright (C) 2006 <NAME>
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#pragma once

#include "virobject.h"
#include "capabilities.h"
#include "vircommand.h"
#include "qemu_monitor.h"
#include "domain_capabilities.h"
#include "virfirmware.h"
#include "virfilecache.h"
#include "virenum.h"

/*
 * Internal flags to keep track of qemu command line capabilities
 *
 * As a general rule these flags must not be deleted / renamed, as
 * they are serialized in string format into the runtime XML file
 * for guests, and new libvirt needs to cope with reading flags
 * defined by old libvirt.
 *
 * The exception to this rule is when we drop support for running
 * with older QEMU versions entirely. When a flag is no longer needed
 * we temporarily give it an X_ prefix to indicate it should no
 * longer be used in code. Periodically we can then purge all the
 * X_ flags and re-group what's left.
 */
typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
    /* 0 */
    X_QEMU_CAPS_VNC_COLON, /* VNC takes or address + display */
    X_QEMU_CAPS_NO_REBOOT, /* Is the -no-reboot flag available */
    X_QEMU_CAPS_DRIVE, /* Is the new -drive arg available */
    X_QEMU_CAPS_DRIVE_BOOT, /* Does -drive support boot=on */
    X_QEMU_CAPS_NAME, /* Is the -name flag available */

    /* 5 */
    X_QEMU_CAPS_UUID, /* Is the -uuid flag available */
    X_QEMU_CAPS_DOMID, /* Xenner: -domid flag available */
    X_QEMU_CAPS_VNET_HDR,
    X_QEMU_CAPS_MIGRATE_KVM_STDIO, /* avoid kvm tcp migration bug */
    X_QEMU_CAPS_MIGRATE_QEMU_TCP, /* have qemu tcp migration */

    /* 10 */
    X_QEMU_CAPS_MIGRATE_QEMU_EXEC, /* have qemu exec migration */
    X_QEMU_CAPS_DRIVE_CACHE_V2, /* cache= flag wanting new v2 values */
    QEMU_CAPS_KVM, /* Whether KVM is usable / was used during probing */
    X_QEMU_CAPS_DRIVE_FORMAT, /* Is -drive format= avail */
    X_QEMU_CAPS_VGA, /* Is -vga avail */

    /* 15 */
    X_QEMU_CAPS_0_10, /* features added in qemu-0.10.0 or later */
    X_QEMU_CAPS_PCIDEVICE, /* PCI device assignment supported */
    X_QEMU_CAPS_MEM_PATH, /* mmap'ped guest backing supported */
    X_QEMU_CAPS_DRIVE_SERIAL, /* -driver serial=  available */
    X_QEMU_CAPS_XEN_DOMID, /* -xen-domid */

    /* 20 */
    X_QEMU_CAPS_MIGRATE_QEMU_UNIX, /* qemu migration via unix sockets */
    X_QEMU_CAPS_CHARDEV, /* Is the new -chardev arg available */
    X_QEMU_CAPS_ENABLE_KVM, /* -enable-kvm flag */
    X_QEMU_CAPS_MONITOR_JSON, /* JSON mode for monitor */
    X_QEMU_CAPS_BALLOON, /* -balloon available */

    /* 25 */
    X_QEMU_CAPS_DEVICE, /* Is the -device arg available */
    X_QEMU_CAPS_SDL, /* Is the new -sdl arg available */
    X_QEMU_CAPS_SMP_TOPOLOGY, /* -smp has sockets/cores/threads */
    X_QEMU_CAPS_NETDEV, /* -netdev flag & netdev_add/remove */
    X_QEMU_CAPS_RTC, /* The -rtc flag for clock options */

    /* 30 */
    X_QEMU_CAPS_VHOST_NET, /* vhost-net support available */
    X_QEMU_CAPS_RTC_TD_HACK, /* -rtc-td-hack available */
    QEMU_CAPS_NO_HPET, /* -no-hpet flag is supported */
    X_QEMU_CAPS_NO_KVM_PIT, /* -no-kvm-pit-reinjection supported */
    X_QEMU_CAPS_TDF, /* -tdf flag (user-mode pit catchup) */

    /* 35 */
    X_QEMU_CAPS_PCI_CONFIGFD, /* pci-assign.configfd */
    X_QEMU_CAPS_NODEFCONFIG, /* -nodefconfig */
    X_QEMU_CAPS_BOOT_MENU, /* -boot menu=on support */
    X_QEMU_CAPS_FSDEV, /* -fstype filesystem passthrough */
    X_QEMU_CAPS_NESTING, /* -enable-nesting (SVM/VMX) */

    /* 40 */
    X_QEMU_CAPS_NAME_PROCESS, /* Is -name process= available */
    X_QEMU_CAPS_DRIVE_READONLY, /* -drive readonly=on|off */
    X_QEMU_CAPS_SMBIOS_TYPE, /* Is -smbios type= available */
    X_QEMU_CAPS_VGA_QXL, /* The 'qxl' arg for '-vga' */
    QEMU_CAPS_SPICE, /* Is -spice avail */

    /* 45 */
    X_QEMU_CAPS_VGA_NONE, /* The 'none' arg for '-vga' */
    X_QEMU_CAPS_MIGRATE_QEMU_FD, /* -incoming fd:n */
    X_QEMU_CAPS_BOOTINDEX, /* -device bootindex property */
    QEMU_CAPS_HDA_DUPLEX, /* -device hda-duplex */
    X_QEMU_CAPS_DRIVE_AIO, /* -drive aio= supported */

    /* 50 */
    X_QEMU_CAPS_PCI_MULTIBUS, /* bus=pci.0 vs bus=pci */
    X_QEMU_CAPS_PCI_BOOTINDEX, /* pci-assign.bootindex */
    QEMU_CAPS_CCID_EMULATED, /* -device ccid-card-emulated */
    QEMU_CAPS_CCID_PASSTHRU, /* -device ccid-card-passthru */
    X_QEMU_CAPS_CHARDEV_SPICEVMC, /* newer -chardev spicevmc */

    /* 55 */
    X_QEMU_CAPS_DEVICE_SPICEVMC, /* older -device spicevmc */
    QEMU_CAPS_VIRTIO_TX_ALG, /* -device virtio-net-pci,tx=string */
    X_QEMU_CAPS_DEVICE_QXL_VGA, /* primary qxl device named qxl-vga? */
    X_QEMU_CAPS_PCI_MULTIFUNCTION, /* -device multifunction=on|off */
    QEMU_CAPS_VIRTIO_IOEVENTFD, /* virtio-{net|blk}-pci.ioeventfd=on */

    /* 60 */
    QEMU_CAPS_SGA, /* Serial Graphics Adapter */
    QEMU_CAPS_VIRTIO_BLK_EVENT_IDX, /* virtio-blk-pci.event_idx */
    QEMU_CAPS_VIRTIO_NET_EVENT_IDX, /* virtio-net-pci.event_idx */
    X_QEMU_CAPS_DRIVE_CACHE_DIRECTSYNC, /* Is cache=directsync supported? */
    QEMU_CAPS_PIIX3_USB_UHCI, /* -device piix3-usb-uhci */

    /* 65 */
    QEMU_CAPS_PIIX4_USB_UHCI, /* -device piix4-usb-uhci */
    QEMU_CAPS_USB_EHCI, /* -device usb-ehci */
    QEMU_CAPS_ICH9_USB_EHCI1, /* -device ich9-usb-ehci1 and friends */
    QEMU_CAPS_VT82C686B_USB_UHCI, /* -device vt82c686b-usb-uhci */
    QEMU_CAPS_PCI_OHCI, /* -device pci-ohci */

    /* 70 */
    QEMU_CAPS_USB_REDIR, /* -device usb-redir */
    QEMU_CAPS_USB_HUB, /* -device usb-hub */
    X_QEMU_CAPS_NO_SHUTDOWN, /* usable -no-shutdown */
    X_QEMU_CAPS_DRIVE_CACHE_UNSAFE, /* Is cache=unsafe supported? */
    X_QEMU_CAPS_PCI_ROMBAR, /* -device rombar=0|1 */

    /* 75 */
    QEMU_CAPS_ICH9_AHCI, /* -device ich9-ahci */
    QEMU_CAPS_NO_ACPI, /* -no-acpi */
    X_QEMU_CAPS_FSDEV_READONLY, /* -fsdev readonly supported */
    QEMU_CAPS_VIRTIO_BLK_SCSI, /* virtio-blk-pci.scsi */
    X_QEMU_CAPS_VIRTIO_BLK_SG_IO, /* SG_IO commands */

    /* 80 */
    X_QEMU_CAPS_DRIVE_COPY_ON_READ, /* -drive copy-on-read */
    X_QEMU_CAPS_CPU_HOST, /* support for -cpu host */
    X_QEMU_CAPS_FSDEV_WRITEOUT, /* -fsdev writeout supported */
    X_QEMU_CAPS_DRIVE_IOTUNE, /* -drive bps= and friends */
    X_QEMU_CAPS_WAKEUP, /* system_wakeup monitor command */

    /* 85 */
    QEMU_CAPS_SCSI_DISK_CHANNEL, /* Is scsi-disk.channel available? */
    QEMU_CAPS_SCSI_BLOCK, /* -device scsi-block */
    X_QEMU_CAPS_TRANSACTION, /* transaction monitor command */
    X_QEMU_CAPS_BLOCKJOB_SYNC, /* old block_job_cancel, block_stream */
    X_QEMU_CAPS_BLOCKJOB_ASYNC, /* new block-job-cancel, block-stream */

    /* 90 */
    X_QEMU_CAPS_SCSI_CD, /* -device scsi-cd */
    X_QEMU_CAPS_IDE_CD, /* -device ide-cd */
    X_QEMU_CAPS_NO_USER_CONFIG, /* -no-user-config */
    QEMU_CAPS_HDA_MICRO, /* -device hda-micro */
    QEMU_CAPS_DUMP_GUEST_MEMORY, /* dump-guest-memory command */

    /* 95 */
    QEMU_CAPS_NEC_USB_XHCI, /* -device nec-usb-xhci */
    QEMU_CAPS_VIRTIO_S390, /* -device virtio-*-s390 */
    X_QEMU_CAPS_BALLOON_EVENT, /* Async event for balloon changes */
    X_QEMU_CAPS_NETDEV_BRIDGE, /* bridge helper support */
    QEMU_CAPS_SCSI_LSI, /* -device lsi */

    /* 100 */
    QEMU_CAPS_VIRTIO_SCSI, /* -device virtio-scsi-* */
    QEMU_CAPS_BLOCKIO, /* -device ...logical_block_size & co */
    QEMU_CAPS_PIIX_DISABLE_S3, /* -M pc S3 BIOS Advertisement on/off */
    QEMU_CAPS_PIIX_DISABLE_S4, /* -M pc S4 BIOS Advertisement on/off */
    QEMU_CAPS_USB_REDIR_FILTER, /* usb-redir.filter */

    /* 105 */
    QEMU_CAPS_IDE_DRIVE_WWN, /* Is ide-drive.wwn available? */
    QEMU_CAPS_SCSI_DISK_WWN, /* Is scsi-disk.wwn available? */
    QEMU_CAPS_SECCOMP_SANDBOX, /* -sandbox */
    QEMU_CAPS_REBOOT_TIMEOUT, /* -boot reboot-timeout */
    X_QEMU_CAPS_DUMP_GUEST_CORE, /* dump-guest-core-parameter */

    /* 110 */
    X_QEMU_CAPS_SEAMLESS_MIGRATION, /* seamless-migration for SPICE */
    X_QEMU_CAPS_BLOCK_COMMIT, /* block-commit */
    QEMU_CAPS_VNC, /* Is -vnc available? */
    X_QEMU_CAPS_DRIVE_MIRROR, /* drive-mirror monitor command */
    X_QEMU_CAPS_USB_REDIR_BOOTINDEX, /* usb-redir.bootindex */

    /* 115 */
    X_QEMU_CAPS_USB_HOST_BOOTINDEX, /* usb-host.bootindex */
    X_QEMU_CAPS_DISK_SNAPSHOT, /* blockdev-snapshot-sync command */
    QEMU_CAPS_DEVICE_QXL, /* -device qxl */<commit_msg>qemu: capabilities: Retire QEMU_CAPS_VIRTIO_S390<commit_after>/*
 * qemu_capabilities.h: QEMU capabilities generation
 *
 * Copyright (C) 2006-2016 Red Hat, Inc.
 * Copyright (C) 2006 <NAME>
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#pragma once

#include "virobject.h"
#include "capabilities.h"
#include "vircommand.h"
#include "qemu_monitor.h"
#include "domain_capabilities.h"
#include "virfirmware.h"
#include "virfilecache.h"
#include "virenum.h"

/*
 * Internal flags to keep track of qemu command line capabilities
 *
 * As a general rule these flags must not be deleted / renamed, as
 * they are serialized in string format into the runtime XML file
 * for guests, and new libvirt needs to cope with reading flags
 * defined by old libvirt.
 *
 * The exception to this rule is when we drop support for running
 * with older QEMU versions entirely. When a flag is no longer needed
 * we temporarily give it an X_ prefix to indicate it should no
 * longer be used in code. Periodically we can then purge all the
 * X_ flags and re-group what's left.
 */
typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
    /* 0 */
    X_QEMU_CAPS_VNC_COLON, /* VNC takes or address + display */
    X_QEMU_CAPS_NO_REBOOT, /* Is the -no-reboot flag available */
    X_QEMU_CAPS_DRIVE, /* Is the new -drive arg available */
    X_QEMU_CAPS_DRIVE_BOOT, /* Does -drive support boot=on */
    X_QEMU_CAPS_NAME, /* Is the -name flag available */

    /* 5 */
    X_QEMU_CAPS_UUID, /* Is the -uuid flag available */
    X_QEMU_CAPS_DOMID, /* Xenner: -domid flag available */
    X_QEMU_CAPS_VNET_HDR,
    X_QEMU_CAPS_MIGRATE_KVM_STDIO, /* avoid kvm tcp migration bug */
    X_QEMU_CAPS_MIGRATE_QEMU_TCP, /* have qemu tcp migration */

    /* 10 */
    X_QEMU_CAPS_MIGRATE_QEMU_EXEC, /* have qemu exec migration */
    X_QEMU_CAPS_DRIVE_CACHE_V2, /* cache= flag wanting new v2 values */
    QEMU_CAPS_KVM, /* Whether KVM is usable / was used during probing */
    X_QEMU_CAPS_DRIVE_FORMAT, /* Is -drive format= avail */
    X_QEMU_CAPS_VGA, /* Is -vga avail */

    /* 15 */
    X_QEMU_CAPS_0_10, /* features added in qemu-0.10.0 or later */
    X_QEMU_CAPS_PCIDEVICE, /* PCI device assignment supported */
    X_QEMU_CAPS_MEM_PATH, /* mmap'ped guest backing supported */
    X_QEMU_CAPS_DRIVE_SERIAL, /* -driver serial=  available */
    X_QEMU_CAPS_XEN_DOMID, /* -xen-domid */

    /* 20 */
    X_QEMU_CAPS_MIGRATE_QEMU_UNIX, /* qemu migration via unix sockets */
    X_QEMU_CAPS_CHARDEV, /* Is the new -chardev arg available */
    X_QEMU_CAPS_ENABLE_KVM, /* -enable-kvm flag */
    X_QEMU_CAPS_MONITOR_JSON, /* JSON mode for monitor */
    X_QEMU_CAPS_BALLOON, /* -balloon available */

    /* 25 */
    X_QEMU_CAPS_DEVICE, /* Is the -device arg available */
    X_QEMU_CAPS_SDL, /* Is the new -sdl arg available */
    X_QEMU_CAPS_SMP_TOPOLOGY, /* -smp has sockets/cores/threads */
    X_QEMU_CAPS_NETDEV, /* -netdev flag & netdev_add/remove */
    X_QEMU_CAPS_RTC, /* The -rtc flag for clock options */

    /* 30 */
    X_QEMU_CAPS_VHOST_NET, /* vhost-net support available */
    X_QEMU_CAPS_RTC_TD_HACK, /* -rtc-td-hack available */
    QEMU_CAPS_NO_HPET, /* -no-hpet flag is supported */
    X_QEMU_CAPS_NO_KVM_PIT, /* -no-kvm-pit-reinjection supported */
    X_QEMU_CAPS_TDF, /* -tdf flag (user-mode pit catchup) */

    /* 35 */
    X_QEMU_CAPS_PCI_CONFIGFD, /* pci-assign.configfd */
    X_QEMU_CAPS_NODEFCONFIG, /* -nodefconfig */
    X_QEMU_CAPS_BOOT_MENU, /* -boot menu=on support */
    X_QEMU_CAPS_FSDEV, /* -fstype filesystem passthrough */
    X_QEMU_CAPS_NESTING, /* -enable-nesting (SVM/VMX) */

    /* 40 */
    X_QEMU_CAPS_NAME_PROCESS, /* Is -name process= available */
    X_QEMU_CAPS_DRIVE_READONLY, /* -drive readonly=on|off */
    X_QEMU_CAPS_SMBIOS_TYPE, /* Is -smbios type= available */
    X_QEMU_CAPS_VGA_QXL, /* The 'qxl' arg for '-vga' */
    QEMU_CAPS_SPICE, /* Is -spice avail */

    /* 45 */
    X_QEMU_CAPS_VGA_NONE, /* The 'none' arg for '-vga' */
    X_QEMU_CAPS_MIGRATE_QEMU_FD, /* -incoming fd:n */
    X_QEMU_CAPS_BOOTINDEX, /* -device bootindex property */
    QEMU_CAPS_HDA_DUPLEX, /* -device hda-duplex */
    X_QEMU_CAPS_DRIVE_AIO, /* -drive aio= supported */

    /* 50 */
    X_QEMU_CAPS_PCI_MULTIBUS, /* bus=pci.0 vs bus=pci */
    X_QEMU_CAPS_PCI_BOOTINDEX, /* pci-assign.bootindex */
    QEMU_CAPS_CCID_EMULATED, /* -device ccid-card-emulated */
    QEMU_CAPS_CCID_PASSTHRU, /* -device ccid-card-passthru */
    X_QEMU_CAPS_CHARDEV_SPICEVMC, /* newer -chardev spicevmc */

    /* 55 */
    X_QEMU_CAPS_DEVICE_SPICEVMC, /* older -device spicevmc */
    QEMU_CAPS_VIRTIO_TX_ALG, /* -device virtio-net-pci,tx=string */
    X_QEMU_CAPS_DEVICE_QXL_VGA, /* primary qxl device named qxl-vga? */
    X_QEMU_CAPS_PCI_MULTIFUNCTION, /* -device multifunction=on|off */
    QEMU_CAPS_VIRTIO_IOEVENTFD, /* virtio-{net|blk}-pci.ioeventfd=on */

    /* 60 */
    QEMU_CAPS_SGA, /* Serial Graphics Adapter */
    QEMU_CAPS_VIRTIO_BLK_EVENT_IDX, /* virtio-blk-pci.event_idx */
    QEMU_CAPS_VIRTIO_NET_EVENT_IDX, /* virtio-net-pci.event_idx */
    X_QEMU_CAPS_DRIVE_CACHE_DIRECTSYNC, /* Is cache=directsync supported? */
    QEMU_CAPS_PIIX3_USB_UHCI, /* -device piix3-usb-uhci */

    /* 65 */
    QEMU_CAPS_PIIX4_USB_UHCI, /* -device piix4-usb-uhci */
    QEMU_CAPS_USB_EHCI, /* -device usb-ehci */
    QEMU_CAPS_ICH9_USB_EHCI1, /* -device ich9-usb-ehci1 and friends */
    QEMU_CAPS_VT82C686B_USB_UHCI, /* -device vt82c686b-usb-uhci */
    QEMU_CAPS_PCI_OHCI, /* -device pci-ohci */

    /* 70 */
    QEMU_CAPS_USB_REDIR, /* -device usb-redir */
    QEMU_CAPS_USB_HUB, /* -device usb-hub */
    X_QEMU_CAPS_NO_SHUTDOWN, /* usable -no-shutdown */
    X_QEMU_CAPS_DRIVE_CACHE_UNSAFE, /* Is cache=unsafe supported? */
    X_QEMU_CAPS_PCI_ROMBAR, /* -device rombar=0|1 */

    /* 75 */
    QEMU_CAPS_ICH9_AHCI, /* -device ich9-ahci */
    QEMU_CAPS_NO_ACPI, /* -no-acpi */
    X_QEMU_CAPS_FSDEV_READONLY, /* -fsdev readonly supported */
    QEMU_CAPS_VIRTIO_BLK_SCSI, /* virtio-blk-pci.scsi */
    X_QEMU_CAPS_VIRTIO_BLK_SG_IO, /* SG_IO commands */

    /* 80 */
    X_QEMU_CAPS_DRIVE_COPY_ON_READ, /* -drive copy-on-read */
    X_QEMU_CAPS_CPU_HOST, /* support for -cpu host */
    X_QEMU_CAPS_FSDEV_WRITEOUT, /* -fsdev writeout supported */
    X_QEMU_CAPS_DRIVE_IOTUNE, /* -drive bps= and friends */
    X_QEMU_CAPS_WAKEUP, /* system_wakeup monitor command */

    /* 85 */
    QEMU_CAPS_SCSI_DISK_CHANNEL, /* Is scsi-disk.channel available? */
    QEMU_CAPS_SCSI_BLOCK, /* -device scsi-block */
    X_QEMU_CAPS_TRANSACTION, /* transaction monitor command */
    X_QEMU_CAPS_BLOCKJOB_SYNC, /* old block_job_cancel, block_stream */
    X_QEMU_CAPS_BLOCKJOB_ASYNC, /* new block-job-cancel, block-stream */

    /* 90 */
    X_QEMU_CAPS_SCSI_CD, /* -device scsi-cd */
    X_QEMU_CAPS_IDE_CD, /* -device ide-cd */
    X_QEMU_CAPS_NO_USER_CONFIG, /* -no-user-config */
    QEMU_CAPS_HDA_MICRO, /* -device hda-micro */
    QEMU_CAPS_DUMP_GUEST_MEMORY, /* dump-guest-memory command */

    /* 95 */
    QEMU_CAPS_NEC_USB_XHCI, /* -device nec-usb-xhci */
    X_QEMU_CAPS_VIRTIO_S390, /* -device virtio-*-s390 */
    X_QEMU_CAPS_BALLOON_EVENT, /* Async event for balloon changes */
    X_QEMU_CAPS_NETDEV_BRIDGE, /* bridge helper support */
    QEMU_CAPS_SCSI_LSI, /* -device lsi */

    /* 100 */
    QEMU_CAPS_VIRTIO_SCSI, /* -device virtio-scsi-* */
    QEMU_CAPS_BLOCKIO, /* -device ...logical_block_size & co */
    QEMU_CAPS_PIIX_DISABLE_S3, /* -M pc S3 BIOS Advertisement on/off */
    QEMU_CAPS_PIIX_DISABLE_S4, /* -M pc S4 BIOS Advertisement on/off */
    QEMU_CAPS_USB_REDIR_FILTER, /* usb-redir.filter */

    /* 105 */
    QEMU_CAPS_IDE_DRIVE_WWN, /* Is ide-drive.wwn available? */
    QEMU_CAPS_SCSI_DISK_WWN, /* Is scsi-disk.wwn available? */
    QEMU_CAPS_SECCOMP_SANDBOX, /* -sandbox */
    QEMU_CAPS_REBOOT_TIMEOUT, /* -boot reboot-timeout */
    X_QEMU_CAPS_DUMP_GUEST_CORE, /* dump-guest-core-parameter */

    /* 110 */
    X_QEMU_CAPS_SEAMLESS_MIGRATION, /* seamless-migration for SPICE */
    X_QEMU_CAPS_BLOCK_COMMIT, /* block-commit */
    QEMU_CAPS_VNC, /* Is -vnc available? */
    X_QEMU_CAPS_DRIVE_MIRROR, /* drive-mirror monitor command */
    X_QEMU_CAPS_USB_REDIR_BOOTINDEX, /* usb-redir.bootindex */

    /* 115 */
    X_QEMU_CAPS_USB_HOST_BOOTINDEX, /* usb-host.bootindex */
    X_QEMU_CAPS_DISK_SNAPSHOT, /* blockdev-snapshot-sync command */
    QEMU_CAPS_DEVICE_QXL, /* -device qxl */
{'fraction_non_alphanumeric': 0.11476765338184224, 'fraction_numerical': 0.011851606857394852, 'mean_word_length': 3.145795246800731, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7632330', 'n_tokens_mistral': 7629, 'n_tokens_neox': 7319, 'n_words': 1475}