X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_barrier.h;h=19f54fc73f065d72f11b886f5e83c72c8d544c26;hb=6ee36e0a7e4585bd0e4235eeb60644fffe230af3;hp=d4b7eda4fc9a6e386e8defe992fec98952d22bd9;hpb=c5ed10139b63166a06c932d07c7a5945bee20d55;p=palacios.git diff --git a/palacios/include/palacios/vmm_barrier.h b/palacios/include/palacios/vmm_barrier.h index d4b7eda..19f54fc 100644 --- a/palacios/include/palacios/vmm_barrier.h +++ b/palacios/include/palacios/vmm_barrier.h @@ -22,22 +22,30 @@ #ifdef __V3VEE__ +#include +#include + -#include struct v3_barrier { - uint64_t cpus; int active; // If 1, barrier is active, everyone must wait // If 0, barrier is clear, can proceed + struct v3_bitmap cpu_map; + v3_lock_t lock; }; +struct v3_vm_info; +struct guest_info; + +int v3_init_barrier(struct v3_vm_info * vm_info); +int v3_deinit_barrier(struct v3_vm_info * vm_info); -int v3_init_barrier(struct v3_barrier * barrier); +int v3_raise_barrier(struct v3_vm_info * vm_info, struct guest_info * local_core); +int v3_lower_barrier(struct v3_vm_info * vm_info); -int v3_activate_barrier(struct guest_info * core); -int v3_check_barrier(struct guest_info * core); +int v3_wait_at_barrier(struct guest_info * core); #endif