X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_ctrl_regs.h;h=96d5d16c92b9c646fbca9cde6a76b3f325772277;hb=7192677f55dd5594438a8a8846aa2d70f76d2c76;hp=69602bbac50c8a9b0777bcde0c6a4a12b2d49626;hpb=07820ee58e9b356341ce86cd2b2938d3abef60c9;p=palacios.releases.git diff --git a/palacios/include/palacios/vmm_ctrl_regs.h b/palacios/include/palacios/vmm_ctrl_regs.h index 69602bb..96d5d16 100644 --- a/palacios/include/palacios/vmm_ctrl_regs.h +++ b/palacios/include/palacios/vmm_ctrl_regs.h @@ -1,3 +1,6 @@ +/* (c) 2008, Jack Lange */ +/* (c) 2008, The V3VEE Project */ + #ifndef __VMM_CTRL_REGS_H #define __VMM_CTRL_REGS_H @@ -164,7 +167,7 @@ struct rflags { - +/* // First opcode byte static const uchar_t cr_access_byte = 0x0f; @@ -176,7 +179,7 @@ static const uchar_t smsw_reg_byte = 0x4; static const uchar_t clts_byte = 0x06; static const uchar_t mov_to_cr_byte = 0x22; static const uchar_t mov_from_cr_byte = 0x20; - +*/ int handle_cr0_write(struct guest_info * info); @@ -186,4 +189,9 @@ int handle_cr3_write(struct guest_info * info); int handle_cr3_read(struct guest_info * info); +#define CR3_32_SAME_BASE(source1,source2) ((source1)->pdt_base_addr == (source2)->pdt_base_addr) +#define CR3_32_COPY_FLAGS(source,dest) do { (dest)->rsvd1=(source)->rsvd1; (dest)->pwt=(source)->pwt; (dest)->pcd=(source)->pcd; } while (0) +#define CR3_32_COPY_BASE(source,dest) do { (dest)->pdt_base_addr = (source)->pdt_base_addr; } while (0) + + #endif