X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fsvm_handler.h;h=0cca1b154d52abebe96827b70d07ff7f6968236b;hb=HEAD;hp=da5967d6b879b33f5a28a421c5e66cdfdc5e0f55;hpb=8ee31494ea28d1756689574fb69791746daac3f3;p=palacios.git diff --git a/palacios/include/palacios/svm_handler.h b/palacios/include/palacios/svm_handler.h index da5967d..0cca1b1 100644 --- a/palacios/include/palacios/svm_handler.h +++ b/palacios/include/palacios/svm_handler.h @@ -1,13 +1,33 @@ +/* + * 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 __SVM_HANDLER_H #define __SVM_HANDLER_H + +#ifdef __V3VEE__ + #include #include #include - - /******************************************/ /* SVM Intercept Exit Codes */ /* AMD Arch Vol 3, Appendix C, pg 477-478 */ @@ -67,7 +87,7 @@ #define VMEXIT_DR15_READ 0x0000002f #define VMEXIT_DR_WRITE_MASK 0xffffffc0 -#define VMEXIT_DR0_WRITE 0x0000003f +#define VMEXIT_DR0_WRITE 0x00000030 // ? this was previously 3f #define VMEXIT_DR1_WRITE 0x00000031 #define VMEXIT_DR2_WRITE 0x00000032 #define VMEXIT_DR3_WRITE 0x00000033 @@ -172,12 +192,11 @@ /******************************************/ +int v3_handle_svm_exit(struct guest_info * info, addr_t exit_code, + addr_t exit_info1, addr_t exit_info2); +const char * vmexit_code_to_str(uint_t exit_code); -int handle_shadow_paging(struct guest_info * info); - -int handle_svm_intr(struct guest_info * info); - -int handle_svm_exit(struct guest_info * info); +#endif // ! __V3VEE__ #endif