X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fsvm_handler.h;h=0cca1b154d52abebe96827b70d07ff7f6968236b;hb=9e9d28b5fe29fcf8fbed010c981254b5e25a6eac;hp=bd3aae4596a6764eb11e487287ad81b1b837f0b1;hpb=a1e0475bbefa968791679c5e71232ddca522868b;p=palacios.git diff --git a/palacios/include/palacios/svm_handler.h b/palacios/include/palacios/svm_handler.h index bd3aae4..0cca1b1 100644 --- a/palacios/include/palacios/svm_handler.h +++ b/palacios/include/palacios/svm_handler.h @@ -1,3 +1,22 @@ +/* + * 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 @@ -9,8 +28,6 @@ - - /******************************************/ /* SVM Intercept Exit Codes */ /* AMD Arch Vol 3, Appendix C, pg 477-478 */ @@ -70,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 @@ -175,14 +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