X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_direct_paging.h;h=6404e6f3ed0314d383a3747a59395dfa3034951c;hb=d3d6d09894dba66f4e2361bb2f903139a2d83684;hp=22843fd767e8649acec1dbdc6a8f42d3ccaf9545;hpb=1fe82881720f7f9f64f789871f763aca93b47a7e;p=palacios.git diff --git a/palacios/include/palacios/vmm_direct_paging.h b/palacios/include/palacios/vmm_direct_paging.h index 22843fd..6404e6f 100644 --- a/palacios/include/palacios/vmm_direct_paging.h +++ b/palacios/include/palacios/vmm_direct_paging.h @@ -26,11 +26,26 @@ #include #include -addr_t v3_create_direct_passthrough_pts(struct guest_info * guest_info); +int v3_init_passthrough_pts(struct guest_info * guest_info); +int v3_free_passthrough_pts(struct guest_info * core); + +int v3_reset_passthrough_pts(struct guest_info * guest_info); int v3_handle_passthrough_pagefault(struct guest_info * info, addr_t fault_addr, pf_error_t error_code); int v3_handle_nested_pagefault(struct guest_info * info, addr_t fault_addr, pf_error_t error_code); +int v3_activate_passthrough_pt(struct guest_info * info); + +int v3_invalidate_passthrough_addr(struct guest_info * info, addr_t inv_addr); +// The range invalidated is minimally [start, end] +int v3_invalidate_passthrough_addr_range(struct guest_info * info, + addr_t inv_addr_start, addr_t inv_addr_end); + +int v3_invalidate_nested_addr(struct guest_info * info, addr_t inv_addr); +// The range invalidated is minimally [start, end] +int v3_invalidate_nested_addr_range(struct guest_info * info, + addr_t inv_addr_start, addr_t inv_addr_end); + #endif // ! __V3VEE__ #endif