while (tmp_impl != __stop__v3_shdw_pg_impls) {
- V3_Print("Registering Shadow Paging Impl (%s)\n", (*tmp_impl)->name);
+ V3_Print(VM_NONE, VCORE_NONE, "Registering Shadow Paging Impl (%s)\n", (*tmp_impl)->name);
if (v3_htable_search(master_shdw_pg_table, (addr_t)((*tmp_impl)->name))) {
- PrintError("Multiple instances of shadow paging impl (%s)\n", (*tmp_impl)->name);
+ PrintError(VM_NONE, VCORE_NONE, "Multiple instances of shadow paging impl (%s)\n", (*tmp_impl)->name);
return -1;
}
if (v3_htable_insert(master_shdw_pg_table,
(addr_t)((*tmp_impl)->name),
(addr_t)(*tmp_impl)) == 0) {
- PrintError("Could not register shadow paging impl (%s)\n", (*tmp_impl)->name);
+ PrintError(VM_NONE, VCORE_NONE, "Could not register shadow paging impl (%s)\n", (*tmp_impl)->name);
return -1;
}
for (i = 0; i < vm->num_cores; i++) {
struct guest_info * core = &(vm->cores[i]);
- V3_Print("%s Guest Page faults: %d\n", hdr, core->shdw_pg_state.guest_faults);
+ V3_Print(vm, core, "%s Guest Page faults: %d\n", hdr, core->shdw_pg_state.guest_faults);
}
}
#endif
state->guest_efer.value = 0x0LL;
if (impl->local_init(core) == -1) {
- PrintError("Error in Shadow paging local initialization (%s)\n", impl->name);
+ PrintError(core->vm_info, core, "Error in Shadow paging local initialization (%s)\n", impl->name);
return -1;
}
struct v3_shdw_pg_impl * impl = core->vm_info->shdw_impl.current_impl;
if (impl->local_deinit(core) == -1) {
- PrintError("Error deinitializing shadow paging state\n");
+ PrintError(core->vm_info, core, "Error deinitializing shadow paging state\n");
return -1;
}
char * pg_strat = v3_cfg_val(pg_cfg, "strategy");
struct v3_shdw_pg_impl * impl = NULL;
- PrintDebug("Checking if shadow paging requested.\n");
+ PrintDebug(vm, VCORE_NONE, "Checking if shadow paging requested.\n");
if ((pg_mode != NULL) && (strcasecmp(pg_mode, "nested") == 0)) {
- PrintDebug("Nested paging specified - not initializing shadow paging.\n");
+ PrintDebug(vm, VCORE_NONE, "Nested paging specified - not initializing shadow paging.\n");
return 0;
}
pg_strat = (char *)default_strategy;
}
- V3_Print("Initialization of Shadow Paging implementation\n");
+ V3_Print(vm, VCORE_NONE,"Initialization of Shadow Paging implementation\n");
impl = (struct v3_shdw_pg_impl *)v3_htable_search(master_shdw_pg_table, (addr_t)pg_strat);
if (impl == NULL) {
- PrintError("Could not find shadow paging impl (%s)\n", pg_strat);
+ PrintError(vm, VCORE_NONE, "Could not find shadow paging impl (%s)\n", pg_strat);
return -1;
}
impl_state->current_impl = impl;
if (impl->init(vm, pg_cfg) == -1) {
- PrintError("Could not initialize Shadow paging implemenation (%s)\n", impl->name);
+ PrintError(vm, VCORE_NONE, "Could not initialize Shadow paging implemenation (%s)\n", impl->name);
return -1;
}
}
if (impl->deinit(vm) == -1) {
- PrintError("Error deinitializing shadow paging implementation\n");
+ PrintError(vm, VCORE_NONE,"Error deinitializing shadow paging implementation\n");
return -1;
}
rc = impl->handle_pagefault(core, fault_addr, error_code);
} else {
- PrintError("Invalid Memory mode\n");
+ PrintError(core->vm_info, core, "Invalid Memory mode\n");
rc = -1;
}
if (v3_get_vm_mem_mode(core) != VIRTUAL_MEM) {
// Paging must be turned on...
// should handle with some sort of fault I think
- PrintError("ERROR: INVLPG called in non paged mode\n");
+ PrintError(core->vm_info, core, "ERROR: INVLPG called in non paged mode\n");
return -1;
}
}
if (ret == -1) {
- PrintError("Could not read instruction into buffer\n");
+ PrintError(core->vm_info, core, "Could not read instruction into buffer\n");
return -1;
}
if (v3_decode(core, (addr_t)instr, &dec_instr) == -1) {
- PrintError("Decoding Error\n");
+ PrintError(core->vm_info, core, "Decoding Error\n");
return -1;
}
if ((dec_instr.op_type != V3_OP_INVLPG) ||
(dec_instr.num_operands != 1) ||
(dec_instr.dst_operand.type != MEM_OPERAND)) {
- PrintError("Decoder Error: Not a valid INVLPG instruction...\n");
+ PrintError(core->vm_info, core, "Decoder Error: Not a valid INVLPG instruction...\n");
return -1;
}
struct event_callback *ec = V3_Malloc(sizeof(struct event_callback));
if (!ec) {
- PrintError("Unable to allocate for a shadow paging event callback\n");
+ PrintError(vm, VCORE_NONE, "Unable to allocate for a shadow paging event callback\n");
return -1;
}
}
}
- PrintError("No callback found!\n");
+ PrintError(vm, VCORE_NONE, "No callback found!\n");
return -1;
}