struct guest_info;
+
struct v3_msr {
union {
- ullong_t value;
+ uint64_t value;
struct {
- uint_t lo;
- uint_t hi;
+ uint32_t lo;
+ uint32_t hi;
} __attribute__((packed));
} __attribute__((packed));
} __attribute__((packed));
-
typedef struct v3_msr v3_msr_t;
struct v3_msr_hook {
struct v3_msr_map {
uint_t num_hooks;
struct list_head hook_list;
+
+ int (*update_map)(struct guest_info * info, uint_t msr, int hook_read, int hook_write);
+ void * arch_data;
+
};
struct v3_msr_hook * v3_get_msr_hook(struct guest_info * info, uint_t msr);
+void v3_refresh_msr_map(struct guest_info * info);
+
void v3_print_msr_map(struct guest_info * info);
+int v3_handle_msr_write(struct guest_info * info);
+
+int v3_handle_msr_read(struct guest_info * info);
+
#endif // ! __V3VEE__