X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm.h;h=42c98c5ef5df4997618d155d94157b8083357649;hb=1f5b9287e61b8a4164f81e52dccf3ddd59a891f8;hp=92ba2080abd9c2e3128b08f6e21b652bead0b2dd;hpb=794a794cec97cecc8c7de7f8b5fe33381a1e02e0;p=palacios.releases.git diff --git a/palacios/include/palacios/vmm.h b/palacios/include/palacios/vmm.h index 92ba208..42c98c5 100644 --- a/palacios/include/palacios/vmm.h +++ b/palacios/include/palacios/vmm.h @@ -221,7 +221,7 @@ // Maybe make this a define.... -typedef enum v3_cpu_arch {V3_INVALID_CPU, V3_SVM_CPU, V3_SVM_REV3_CPU, V3_VMX_CPU} v3_cpu_arch_t; +typedef enum v3_cpu_arch {V3_INVALID_CPU, V3_SVM_CPU, V3_SVM_REV3_CPU, V3_VMX_CPU, V3_VMX_EPT_CPU} v3_cpu_arch_t; v3_cpu_mode_t v3_get_host_cpu_mode(); @@ -268,6 +268,23 @@ struct v3_os_hooks { }; + +typedef enum {NONE, HARDDRIVE, CDROM} v3_disk_type_t; +typedef enum {RAM, NETWORK} v3_disk_connection_t; + +union v3_disk_info { + struct { + void * data_ptr; + int size; + } ram; + + struct { + char * ip_str; + int port; + char * disk_name; + } net; +}; + struct v3_vm_config { void * rombios; int rombios_size; @@ -279,19 +296,18 @@ struct v3_vm_config { // so we can specify maximum physical address size // (We're screwed if we want to do 32 bit host/64 bit guest) - int enable_profiling; int enable_nested_paging; int enable_pci; - - int use_ram_cd; - int use_ram_hd; - int use_net_cd; - int use_net_hd; - - void * ramdisk; - int ramdisk_size; + + v3_disk_type_t pri_disk_type; + v3_disk_connection_t pri_disk_con; + union v3_disk_info pri_disk_info; + + v3_disk_type_t sec_disk_type; + v3_disk_connection_t sec_disk_con; + union v3_disk_info sec_disk_info; };