#include <palacios/vmm_sprintf.h>
#include <palacios/vmm_extensions.h>
#include <palacios/vmm_timeout.h>
-
+#include <palacios/vmm_options.h>
#ifdef V3_CONFIG_SVM
#include <palacios/svm.h>
}
}
-
-void Init_V3(struct v3_os_hooks * hooks, char * cpu_mask, int num_cpus) {
+void Init_V3(struct v3_os_hooks * hooks, char * cpu_mask, int num_cpus, char *options) {
int i = 0;
int minor = 0;
int major = 0;
v3_cpu_types[i] = V3_INVALID_CPU;
}
+ // Parse host-os defined options into an easily-accessed format.
+ v3_parse_options(options);
+
// Register all the possible device types
V3_init_devices();
* Register this VM with the palacios scheduler. It will ask for admission
* prior to launch.
*/
- if(v3_scheduler_register_vm(vm) != -1) {
+ if(v3_scheduler_register_vm(vm) == -1) {
PrintError(vm, VCORE_NONE,"Error registering VM with scheduler\n");
}
#ifdef V3_CONFIG_CHECKPOINT
#include <palacios/vmm_checkpoint.h>
-int v3_save_vm(struct v3_vm_info * vm, char * store, char * url) {
- return v3_chkpt_save_vm(vm, store, url);
+int v3_save_vm(struct v3_vm_info * vm, char * store, char * url, v3_chkpt_options_t opts) {
+ return v3_chkpt_save_vm(vm, store, url, opts);
}
-int v3_load_vm(struct v3_vm_info * vm, char * store, char * url) {
- return v3_chkpt_load_vm(vm, store, url);
+int v3_load_vm(struct v3_vm_info * vm, char * store, char * url, v3_chkpt_options_t opts) {
+ return v3_chkpt_load_vm(vm, store, url, opts);
}
#ifdef V3_CONFIG_LIVE_MIGRATION
-int v3_send_vm(struct v3_vm_info * vm, char * store, char * url) {
- return v3_chkpt_send_vm(vm, store, url);
+int v3_send_vm(struct v3_vm_info * vm, char * store, char * url, v3_chkpt_options_t opts) {
+ return v3_chkpt_send_vm(vm, store, url, opts);
}
-int v3_receive_vm(struct v3_vm_info * vm, char * store, char * url) {
- return v3_chkpt_receive_vm(vm, store, url);
+int v3_receive_vm(struct v3_vm_info * vm, char * store, char * url, v3_chkpt_options_t opts) {
+ return v3_chkpt_receive_vm(vm, store, url, opts);
}
#endif