X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_mem.h;h=c21155b41218acab5aa2b50bf63ecc95a6c3e8aa;hb=c2e660b41f69c603b0c47f7c7572a22a2f601a51;hp=f8b8d0df686eb2ffb84e3b779a59fef51f2133d2;hpb=b527f44a71d32952d7b129a7ce5dbeb3969fb8d2;p=palacios.git diff --git a/palacios/include/palacios/vmm_mem.h b/palacios/include/palacios/vmm_mem.h index f8b8d0d..c21155b 100644 --- a/palacios/include/palacios/vmm_mem.h +++ b/palacios/include/palacios/vmm_mem.h @@ -1,7 +1,29 @@ +/* + * This file is part of the Palacios Virtual Machine Monitor developed + * by the V3VEE Project with funding from the United States National + * Science Foundation and the Department of Energy. + * + * The V3VEE Project is a joint project between Northwestern University + * and the University of New Mexico. You can find out more at + * http://www.v3vee.org + * + * Copyright (c) 2008, Jack Lange + * Copyright (c) 2008, The V3VEE Project + * All rights reserved. + * + * Author: Jack Lange + * + * This is free software. You are permitted to use, + * redistribute, and modify it as specified in the file "V3VEE_LICENSE". + */ + + #ifndef __VMM_MEM_H #define __VMM_MEM_H +#ifdef __V3VEE__ + #include @@ -85,7 +107,7 @@ int add_shadow_region_passthrough(struct guest_info * guest_info, addr_t guest_addr_end, addr_t host_addr); -void init_shadow_map(struct shadow_map * map); +void init_shadow_map(struct guest_info * info); void free_shadow_map(struct shadow_map * map); struct shadow_region * get_shadow_region_by_addr(struct shadow_map * map, addr_t guest_addr); @@ -113,8 +135,6 @@ void print_shadow_map(struct shadow_map * map); - - struct vmm_mem_hook { // Called when data is read from a memory page int (*read)(addr_t guest_addr, void * dst, uint_t length, void * priv_data); @@ -139,7 +159,10 @@ int unhook_guest_mem(struct guest_info * info, addr_t guest_addr); -int mem_hook_dispatch(struct guest_info * info, addr_t mem_addr, pf_error_t access_info, struct vmm_mem_hook * hook); -int handle_special_page_fault(struct guest_info * info, addr_t mem_addr, pf_error_t access_info); +int handle_special_page_fault(struct guest_info * info, addr_t fault_addr, addr_t gp_addr, pf_error_t access_info); + + +#endif // ! __V3VEE__ + #endif