X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_hypercall.h;h=58c73f9de8f491ca6f8006f980dba9179547d89b;hb=4d1d8fadad33de7d3ebce2083d9782048f78b44e;hp=8a7fc5d0141ffa64416509667814d5f100f84910;hpb=63fc27a4eedc44a349cf8fde14e4c1b2401b4100;p=palacios.git diff --git a/palacios/include/palacios/vmm_hypercall.h b/palacios/include/palacios/vmm_hypercall.h index 8a7fc5d..58c73f9 100644 --- a/palacios/include/palacios/vmm_hypercall.h +++ b/palacios/include/palacios/vmm_hypercall.h @@ -50,20 +50,25 @@ typedef enum { TELEMETRY_HCALL = 0x3001, // no args BALLOON_START_HCALL = 0xba00, // RAX: size BALLOON_QUERY_HCALL = 0xba01, // RCX: req_pgs(out), RDX: alloc_pgs(out) - OS_DEBUG_HCALL = 0xc0c0 // RBX: msg_gpa, RCX: msg_len, RDX: buf_is_va (flag) + OS_DEBUG_HCALL = 0xc0c0, // RBX: msg_gpa, RCX: msg_len, RDX: buf_is_va (flag) + TIME_CPUFREQ_HCALL = 0xd000, //RBX: cpu freq (out) + TIME_RDHTSC_HCALL = 0xd001, //RBX: cpu freq (out) + + VNET_HEADER_QUERY_HCALL = 0xe000, // Get the current header for a src/dest pair + + HVM_HCALL = 0xf00d, } hcall_id_t; void v3_init_hypercall_map(struct v3_vm_info * vm); - +int v3_deinit_hypercall_map(struct v3_vm_info * vm); int v3_register_hypercall(struct v3_vm_info * vm, hcall_id_t hypercall_id, int (*hypercall)(struct guest_info * info , hcall_id_t hcall_id, void * priv_data), void * priv_data); - - +int v3_remove_hypercall(struct v3_vm_info * vm, hcall_id_t hypercall_id); int v3_handle_hypercall(struct guest_info * info);