return NULL;
}
-
V3_Print("File index=%d id=%s\n", idx, id);
strncpy(file->tag, id, 256);
return alignment;
}
-static int pre_config_vm(struct v3_vm_info * vm, v3_cfg_tree_t * vm_cfg) {
+static int pre_config_vm(struct v3_vm_info * vm, v3_cfg_tree_t * vm_cfg) {
char * memory_str = v3_cfg_val(vm_cfg, "memory");
char * schedule_hz_str = v3_cfg_val(vm_cfg, "schedule_hz");
char * vm_class = v3_cfg_val(vm_cfg, "class");
return 0;
}
-static int determine_paging_mode(struct guest_info *info, v3_cfg_tree_t * core_cfg)
-{
+
+static int determine_paging_mode(struct guest_info * info, v3_cfg_tree_t * core_cfg) {
extern v3_cpu_arch_t v3_cpu_types[];
v3_cfg_tree_t * vm_tree = info->vm_info->cfg_data->cfg;
-struct v3_vm_info * v3_config_guest(void * cfg_blob) {
+struct v3_vm_info * v3_config_guest(void * cfg_blob, void * priv_data) {
v3_cpu_arch_t cpu_type = v3_get_cpu_type(V3_Get_CPU());
struct v3_config * cfg_data = NULL;
struct v3_vm_info * vm = NULL;
return NULL;
}
+ vm->host_priv_data = priv_data;
+
vm->cfg_data = cfg_data;
V3_Print("Preconfiguration\n");
+int v3_free_config(struct v3_vm_info * vm) {
+
+ v3_free_htable(vm->cfg_data->file_table, 1, 0);
+
+ v3_xml_free(vm->cfg_data->cfg);
+
+ V3_Free(vm->cfg_data);
+ return 0;
+}
+
static int setup_memory_map(struct v3_vm_info * vm, v3_cfg_tree_t * cfg) {