Skip to content
Snippets Groups Projects
Commit e88b6b87 authored by iliya.saroukha's avatar iliya.saroukha :first_quarter_moon:
Browse files

debug: trying to a find the reason why vmxon raises the carry flag

parent f715c49b
No related branches found
No related tags found
Loading
...@@ -29,7 +29,7 @@ static int alloc_vmxon_internals(struct vmxon_region_t *reg) { ...@@ -29,7 +29,7 @@ static int alloc_vmxon_internals(struct vmxon_region_t *reg) {
reg->size = REGION_SIZE; reg->size = REGION_SIZE;
reg->va = region; reg->va = region;
reg->pa = (void *)__pa(region); reg->pa = __pa(region);
return 0; return 0;
} }
...@@ -41,12 +41,13 @@ static int write_vmcs_rev_id_to_vmxon(struct vmxon_region_t *reg) { ...@@ -41,12 +41,13 @@ static int write_vmcs_rev_id_to_vmxon(struct vmxon_region_t *reg) {
} }
DEBUG_FMT( DEBUG_FMT(
"Reading IA32_VMX_BASIC MSR for VMCS revision identifier = %llu\n", "Reading IA32_VMX_BASIC MSR for VMCS revision identifier = 0x%llx\n",
VMCS_REVISION_ID); VMCS_REVISION_ID);
DEBUG_FMT("Writing VMCS Revision ID to VMXON region\n"); DEBUG_FMT("Writing VMCS Revision ID to VMXON region\n");
(*(uint32_t *)reg->va) = VMCS_REVISION_ID; (*(unsigned long *)reg->va) = VMCS_REVISION_ID;
(*(unsigned long *)reg->va) &= ~(1UL << 31);
return 0; return 0;
} }
...@@ -57,6 +58,7 @@ int init_vmxon_reg(struct vmxon_region_t *reg) { ...@@ -57,6 +58,7 @@ int init_vmxon_reg(struct vmxon_region_t *reg) {
} }
if (write_vmcs_rev_id_to_vmxon(reg) != 0) { if (write_vmcs_rev_id_to_vmxon(reg) != 0) {
kfree(reg->va);
return -1; return -1;
} }
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
struct vmxon_region_t { struct vmxon_region_t {
unsigned long size; unsigned long size;
void *va; void *va;
void *pa; unsigned long long pa;
}; };
int init_vmxon_reg(struct vmxon_region_t *reg); int init_vmxon_reg(struct vmxon_region_t *reg);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment