1b54cb31cSSasha Levin #ifndef KVM_CONFIG_H_ 2b54cb31cSSasha Levin #define KVM_CONFIG_H_ 3b54cb31cSSasha Levin 4b54cb31cSSasha Levin #include "kvm/disk-image.h" 5ff7ba6faSWill Deacon #include "kvm/kvm-config-arch.h" 6b54cb31cSSasha Levin 7b54cb31cSSasha Levin #define DEFAULT_KVM_DEV "/dev/kvm" 8b54cb31cSSasha Levin #define DEFAULT_CONSOLE "serial" 9b54cb31cSSasha Levin #define DEFAULT_NETWORK "user" 10b54cb31cSSasha Levin #define DEFAULT_HOST_ADDR "192.168.33.1" 11b54cb31cSSasha Levin #define DEFAULT_GUEST_ADDR "192.168.33.15" 12b54cb31cSSasha Levin #define DEFAULT_GUEST_MAC "02:15:15:15:15:15" 13b54cb31cSSasha Levin #define DEFAULT_HOST_MAC "02:01:01:01:01:01" 14b54cb31cSSasha Levin #define DEFAULT_SCRIPT "none" 15b54cb31cSSasha Levin #define DEFAULT_SANDBOX_FILENAME "guest/sandbox.sh" 16b54cb31cSSasha Levin 17b54cb31cSSasha Levin #define MIN_RAM_SIZE_MB (64ULL) 18b54cb31cSSasha Levin #define MIN_RAM_SIZE_BYTE (MIN_RAM_SIZE_MB << MB_SHIFT) 19b54cb31cSSasha Levin 20b54cb31cSSasha Levin struct kvm_config { 21ff7ba6faSWill Deacon struct kvm_config_arch arch; 22b54cb31cSSasha Levin struct disk_image_params disk_image[MAX_DISK_IMAGES]; 23b54cb31cSSasha Levin u64 ram_size; 24b54cb31cSSasha Levin u8 image_count; 25b54cb31cSSasha Levin u8 num_net_devices; 26b54cb31cSSasha Levin bool virtio_rng; 272651ea58SSasha Levin int active_console; 283b55dcdeSSasha Levin int debug_iodelay; 2900ebbe96SSasha Levin int nrcpus; 30b54cb31cSSasha Levin const char *kernel_cmdline; 31b54cb31cSSasha Levin const char *kernel_filename; 32b54cb31cSSasha Levin const char *vmlinux_filename; 33b54cb31cSSasha Levin const char *initrd_filename; 34b54cb31cSSasha Levin const char *firmware_filename; 35b54cb31cSSasha Levin const char *console; 36b54cb31cSSasha Levin const char *dev; 37b54cb31cSSasha Levin const char *network; 38b54cb31cSSasha Levin const char *host_ip; 39b54cb31cSSasha Levin const char *guest_ip; 40b54cb31cSSasha Levin const char *guest_mac; 41b54cb31cSSasha Levin const char *host_mac; 42b54cb31cSSasha Levin const char *script; 43b54cb31cSSasha Levin const char *guest_name; 44b54cb31cSSasha Levin const char *sandbox; 45b54cb31cSSasha Levin const char *hugetlbfs_path; 46b54cb31cSSasha Levin const char *custom_rootfs_name; 47084a1356SSasha Levin const char *real_cmdline; 48b54cb31cSSasha Levin struct virtio_net_params *net_params; 49b54cb31cSSasha Levin bool single_step; 50b54cb31cSSasha Levin bool vnc; 51*7bcceb95SPekka Enberg bool gtk; 52b54cb31cSSasha Levin bool sdl; 53b54cb31cSSasha Levin bool balloon; 54b54cb31cSSasha Levin bool using_rootfs; 55b54cb31cSSasha Levin bool custom_rootfs; 56b54cb31cSSasha Levin bool no_net; 57b54cb31cSSasha Levin bool no_dhcp; 585765977dSSasha Levin bool ioport_debug; 59e830cce7SSasha Levin bool mmio_debug; 60b54cb31cSSasha Levin }; 61b54cb31cSSasha Levin 62b54cb31cSSasha Levin #endif 63