xref: /kvmtool/include/kvm/kvm-config.h (revision 7bcceb95fd5435ef6f27c2f4caff134b9060257e)
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