* redistribute, and modify it as specified in the file "V3VEE_LICENSE".
*/
-
-
-
#include <palacios/svm_io.h>
#include <palacios/vmm_io.h>
#include <palacios/vmm_ctrl_regs.h>
// vmcb_saved_state_t * guest_state = GET_VMCB_SAVE_STATE_AREA((vmcb_t*)(info->vmm_data));
struct svm_io_info * io_info = (struct svm_io_info *)&(ctrl_area->exit_info1);
- struct vmm_io_hook * hook = v3_get_io_hook(&(info->io_map), io_info->port);
+ struct v3_io_hook * hook = v3_get_io_hook(info, io_info->port);
int read_size = 0;
if (hook == NULL) {
struct svm_io_info * io_info = (struct svm_io_info *)&(ctrl_area->exit_info1);
- struct vmm_io_hook * hook = v3_get_io_hook(&(info->io_map), io_info->port);
+ struct v3_io_hook * hook = v3_get_io_hook(info, io_info->port);
int read_size = 0;
addr_t dst_addr = 0;
mask = get_gpr_mask(info);
PrintDebug("INS io_info invalid address size, mask=0x%p, io_info=0x%p\n",
- (void *)mask, (void *)(io_info));
+ (void *)(addr_t)mask, (void *)(addr_t)(io_info));
// PrintDebug("INS Aborted... Check implementation\n");
//return -1;
}
// vmcb_saved_state_t * guest_state = GET_VMCB_SAVE_STATE_AREA((vmcb_t*)(info->vmm_data));
struct svm_io_info * io_info = (struct svm_io_info *)&(ctrl_area->exit_info1);
- struct vmm_io_hook * hook = v3_get_io_hook(&(info->io_map), io_info->port);
+ struct v3_io_hook * hook = v3_get_io_hook(info, io_info->port);
int write_size = 0;
if (hook == NULL) {
struct svm_io_info * io_info = (struct svm_io_info *)&(ctrl_area->exit_info1);
- struct vmm_io_hook * hook = v3_get_io_hook(&(info->io_map), io_info->port);
+ struct v3_io_hook * hook = v3_get_io_hook(info, io_info->port);
int write_size = 0;
addr_t dst_addr = 0;
mask = get_gpr_mask(info);
PrintDebug("OUTS io_info invalid address size, mask=0%p, io_info=0x%p\n",
- (void *)mask, (void *)io_info);
+ (void *)(addr_t)mask, (void *)(addr_t)io_info);
// PrintDebug("INS Aborted... Check implementation\n");
//return -1;
// should never happen