1b54cb31cSSasha Levin #ifndef KVM_CONFIG_H_ 2b54cb31cSSasha Levin #define KVM_CONFIG_H_ 3b54cb31cSSasha Levin 4b54cb31cSSasha Levin #include "kvm/disk-image.h" 56078a454SJean-Philippe Brucker #include "kvm/vfio.h" 6ff7ba6faSWill Deacon #include "kvm/kvm-config-arch.h" 7b54cb31cSSasha Levin 8*9d655190SAlexandru Elisei #include <linux/sizes.h> 9*9d655190SAlexandru Elisei 10b54cb31cSSasha Levin #define DEFAULT_KVM_DEV "/dev/kvm" 11b54cb31cSSasha Levin #define DEFAULT_CONSOLE "serial" 12b54cb31cSSasha Levin #define DEFAULT_NETWORK "user" 13b54cb31cSSasha Levin #define DEFAULT_HOST_ADDR "192.168.33.1" 14b54cb31cSSasha Levin #define DEFAULT_GUEST_ADDR "192.168.33.15" 15b54cb31cSSasha Levin #define DEFAULT_GUEST_MAC "02:15:15:15:15:15" 16b54cb31cSSasha Levin #define DEFAULT_HOST_MAC "02:01:01:01:01:01" 17b54cb31cSSasha Levin #define DEFAULT_SCRIPT "none" 18b54cb31cSSasha Levin #define DEFAULT_SANDBOX_FILENAME "guest/sandbox.sh" 19b54cb31cSSasha Levin 20*9d655190SAlexandru Elisei #define MIN_RAM_SIZE SZ_64M 21b54cb31cSSasha Levin 22b54cb31cSSasha Levin struct kvm_config { 23ff7ba6faSWill Deacon struct kvm_config_arch arch; 24b54cb31cSSasha Levin struct disk_image_params disk_image[MAX_DISK_IMAGES]; 256078a454SJean-Philippe Brucker struct vfio_device_params *vfio_devices; 26*9d655190SAlexandru Elisei u64 ram_size; /* Guest memory size, in bytes */ 27b54cb31cSSasha Levin u8 num_net_devices; 286078a454SJean-Philippe Brucker u8 num_vfio_devices; 29117d6495STianjia Zhang u64 vsock_cid; 30b54cb31cSSasha Levin bool virtio_rng; 315613ae26SAlexandru Elisei bool nodefaults; 322651ea58SSasha Levin int active_console; 333b55dcdeSSasha Levin int debug_iodelay; 3400ebbe96SSasha Levin int nrcpus; 35b54cb31cSSasha Levin const char *kernel_cmdline; 36b54cb31cSSasha Levin const char *kernel_filename; 37b54cb31cSSasha Levin const char *vmlinux_filename; 38b54cb31cSSasha Levin const char *initrd_filename; 39b54cb31cSSasha Levin const char *firmware_filename; 4025cf3198SRaphael Gault const char *flash_filename; 41b54cb31cSSasha Levin const char *console; 42b54cb31cSSasha Levin const char *dev; 43b54cb31cSSasha Levin const char *network; 44b54cb31cSSasha Levin const char *host_ip; 45b54cb31cSSasha Levin const char *guest_ip; 46b54cb31cSSasha Levin const char *guest_mac; 47b54cb31cSSasha Levin const char *host_mac; 48b54cb31cSSasha Levin const char *script; 49b54cb31cSSasha Levin const char *guest_name; 50b54cb31cSSasha Levin const char *sandbox; 51b54cb31cSSasha Levin const char *hugetlbfs_path; 52b54cb31cSSasha Levin const char *custom_rootfs_name; 53084a1356SSasha Levin const char *real_cmdline; 54b54cb31cSSasha Levin struct virtio_net_params *net_params; 55b54cb31cSSasha Levin bool single_step; 56b54cb31cSSasha Levin bool vnc; 577bcceb95SPekka Enberg bool gtk; 58b54cb31cSSasha Levin bool sdl; 59b54cb31cSSasha Levin bool balloon; 60b54cb31cSSasha Levin bool using_rootfs; 61b54cb31cSSasha Levin bool custom_rootfs; 62b54cb31cSSasha Levin bool no_net; 63b54cb31cSSasha Levin bool no_dhcp; 645765977dSSasha Levin bool ioport_debug; 65e830cce7SSasha Levin bool mmio_debug; 66b54cb31cSSasha Levin }; 67b54cb31cSSasha Levin 68b54cb31cSSasha Levin #endif 69