qemu/tests/qtest/fuzz/generic_fuzz_configs.h
<<
>>
Prefs
   1/*
   2 * Generic Virtual-Device Fuzzing Target Configs
   3 *
   4 * Copyright Red Hat Inc., 2020
   5 *
   6 * Authors:
   7 *  Alexander Bulekov   <alxndr@bu.edu>
   8 *
   9 * This work is licensed under the terms of the GNU GPL, version 2 or later.
  10 * See the COPYING file in the top-level directory.
  11 */
  12
  13#ifndef GENERIC_FUZZ_CONFIGS_H
  14#define GENERIC_FUZZ_CONFIGS_H
  15
  16#include "qemu/osdep.h"
  17
  18typedef struct generic_fuzz_config {
  19    const char *name, *args, *objects;
  20} generic_fuzz_config;
  21
  22const generic_fuzz_config predefined_configs[] = {
  23    {
  24        .name = "virtio-net-pci-slirp",
  25        .args = "-M q35 -nodefaults "
  26        "-device virtio-net,netdev=net0 -netdev user,id=net0",
  27        .objects = "virtio*",
  28    },{
  29        .name = "virtio-blk",
  30        .args = "-machine q35 -device virtio-blk,drive=disk0 "
  31        "-drive file=null-co://,id=disk0,if=none,format=raw",
  32        .objects = "virtio*",
  33    },{
  34        .name = "virtio-scsi",
  35        .args = "-machine q35 -device virtio-scsi,num_queues=8 "
  36        "-device scsi-hd,drive=disk0 "
  37        "-drive file=null-co://,id=disk0,if=none,format=raw",
  38        .objects = "scsi* virtio*",
  39    },{
  40        .name = "virtio-gpu",
  41        .args = "-machine q35 -nodefaults -device virtio-gpu",
  42        .objects = "virtio*",
  43    },{
  44        .name = "virtio-vga",
  45        .args = "-machine q35 -nodefaults -device virtio-vga",
  46        .objects = "virtio*",
  47    },{
  48        .name = "virtio-rng",
  49        .args = "-machine q35 -nodefaults -device virtio-rng",
  50        .objects = "virtio*",
  51    },{
  52        .name = "virtio-balloon",
  53        .args = "-machine q35 -nodefaults -device virtio-balloon",
  54        .objects = "virtio*",
  55    },{
  56        .name = "virtio-serial",
  57        .args = "-machine q35 -nodefaults -device virtio-serial",
  58        .objects = "virtio*",
  59    },{
  60        .name = "virtio-mouse",
  61        .args = "-machine q35 -nodefaults -device virtio-mouse",
  62        .objects = "virtio*",
  63    },{
  64        .name = "e1000",
  65        .args = "-M q35 -nodefaults "
  66        "-device e1000,netdev=net0 -netdev user,id=net0",
  67        .objects = "e1000",
  68    },{
  69        .name = "e1000e",
  70        .args = "-M q35 -nodefaults "
  71        "-device e1000e,netdev=net0 -netdev user,id=net0",
  72        .objects = "e1000e",
  73    },{
  74        .name = "cirrus-vga",
  75        .args = "-machine q35 -nodefaults -device cirrus-vga",
  76        .objects = "cirrus*",
  77    },{
  78        .name = "bochs-display",
  79        .args = "-machine q35 -nodefaults -device bochs-display",
  80        .objects = "bochs*",
  81    },{
  82        .name = "intel-hda",
  83        .args = "-machine q35 -nodefaults -device intel-hda,id=hda0 "
  84        "-device hda-output,bus=hda0.0 -device hda-micro,bus=hda0.0 "
  85        "-device hda-duplex,bus=hda0.0",
  86        .objects = "intel-hda",
  87    },{
  88        .name = "ide-hd",
  89        .args = "-machine q35 -nodefaults "
  90        "-drive file=null-co://,if=none,format=raw,id=disk0 "
  91        "-device ide-hd,drive=disk0",
  92        .objects = "ahci*",
  93    },{
  94        .name = "floppy",
  95        .args = "-machine pc -nodefaults -device floppy,id=floppy0 "
  96        "-drive id=disk0,file=null-co://,file.read-zeroes=on,if=none "
  97        "-device floppy,drive=disk0,drive-type=288",
  98        .objects = "fd* floppy*",
  99    },{
 100        .name = "xhci",
 101        .args = "-machine q35 -nodefaults "
 102        "-drive file=null-co://,if=none,format=raw,id=disk0 "
 103        "-device qemu-xhci,id=xhci -device usb-tablet,bus=xhci.0 "
 104        "-device usb-bot -device usb-storage,drive=disk0 "
 105        "-chardev null,id=cd0 -chardev null,id=cd1 "
 106        "-device usb-braille,chardev=cd0 -device usb-ccid -device usb-ccid "
 107        "-device usb-kbd -device usb-mouse -device usb-serial,chardev=cd1 "
 108        "-device usb-tablet -device usb-wacom-tablet -device usb-audio",
 109        .objects = "*usb* *uhci* *xhci*",
 110    },{
 111        .name = "pc-i440fx",
 112        .args = "-machine pc",
 113        .objects = "*",
 114    },{
 115        .name = "pc-q35",
 116        .args = "-machine q35",
 117        .objects = "*",
 118    }
 119};
 120
 121#endif
 122