X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_cpuid.h;h=88d48bdd42fa1e63a68b70fa5dd6122df417ca92;hb=e8e3ec0355b791d6f729df796d0155bccca85090;hp=a5f45ee0db061867a5e43e61ad225a5d4140ec36;hpb=c06413341bf1dca02f22c0502fa5c2d1c2c11eab;p=palacios.git diff --git a/palacios/include/palacios/vmm_cpuid.h b/palacios/include/palacios/vmm_cpuid.h index a5f45ee..88d48bd 100644 --- a/palacios/include/palacios/vmm_cpuid.h +++ b/palacios/include/palacios/vmm_cpuid.h @@ -31,8 +31,8 @@ struct guest_info; -void v3_init_cpuid_map(struct guest_info * info); - +void v3_init_cpuid_map(struct v3_vm_info * vm); +int v3_deinit_cpuid_map(struct v3_vm_info * vm); struct v3_cpuid_hook { uint32_t cpuid; @@ -52,16 +52,22 @@ struct v3_cpuid_map { struct rb_root map; }; -void v3_print_cpuid_map(struct guest_info * info); +void v3_print_cpuid_map(struct v3_vm_info * vm); + +int v3_cpuid_add_fields(struct v3_vm_info * vm, uint32_t cpuid, + uint32_t rax_mask, uint32_t rax, + uint32_t rbx_mask, uint32_t rbx, + uint32_t rcx_mask, uint32_t rcx, + uint32_t rdx_mask, uint32_t rdx); -int v3_hook_cpuid(struct guest_info * info, uint32_t cpuid, +int v3_hook_cpuid(struct v3_vm_info * vm, uint32_t cpuid, int (*hook_fn)(struct guest_info * info, uint32_t cpuid, \ uint32_t * eax, uint32_t * ebx, \ uint32_t * ecx, uint32_t * edx, \ void * private_data), void * private_data); -int v3_unhook_cpuid(struct guest_info * info, uint32_t cpuid); +int v3_unhook_cpuid(struct v3_vm_info * vm, uint32_t cpuid); int v3_handle_cpuid(struct guest_info * info);