X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm.h;h=81bad2c7f3eacc49ac846acf8e8f5e21c71898e7;hp=2da7ee26f7b8294304d7a7bea3efeec7d01cc327;hb=068d7e66db537f981fde19a098a12e4390fa3de4;hpb=52e81251f82ccaf516e3ed626c8abbcc9fbe3f41 diff --git a/palacios/include/palacios/vmm.h b/palacios/include/palacios/vmm.h index 2da7ee2..81bad2c 100644 --- a/palacios/include/palacios/vmm.h +++ b/palacios/include/palacios/vmm.h @@ -221,8 +221,6 @@ struct v3_os_hooks { void *(*paddr_to_vaddr)(void *addr); void *(*vaddr_to_paddr)(void *addr); - void (*interrupt_cpu)(struct guest_info * vm, int logical_cpu); - int (*hook_interrupt)(struct guest_info * vm, unsigned int irq); int (*ack_irq)(int irq); @@ -237,6 +235,10 @@ struct v3_os_hooks { void (*mutex_free)(void * mutex); void (*mutex_lock)(void * mutex, int must_spin); void (*mutex_unlock)(void * mutex); + + void (*interrupt_cpu)(struct guest_info * vm, int logical_cpu); + void (*call_on_cpu)(int logical_cpu, void (*fn)(void * arg), void * arg); + void (*start_thread_on_cpu)(int logical_cpu, int (*fn)(void * arg), void * arg, char * thread_name); }; @@ -270,6 +272,8 @@ struct v3_vm_config { int enable_swap; + int guest_cpu; + unsigned long schedule_freq; // in HZ v3_disk_type_t pri_disk_type; @@ -314,7 +318,7 @@ struct v3_interrupt { -void Init_V3(struct v3_os_hooks * hooks, struct v3_ctrl_ops * vmm_ops); +void Init_V3(struct v3_os_hooks * hooks, struct v3_ctrl_ops * vmm_ops, int num_cpus); int v3_deliver_irq(struct guest_info * vm, struct v3_interrupt * intr);