diff --git a/tests/unit/test_x86.c b/tests/unit/test_x86.c index 17624c86..41830e4b 100644 --- a/tests/unit/test_x86.c +++ b/tests/unit/test_x86.c @@ -1489,7 +1489,9 @@ static void test_x86_mmu_prepare_tlb(uc_engine *uc, uint64_t vaddr, OK(uc_mem_write(uc, tlb_base + pml4o, &pml4e_mem, sizeof(pml4o))); OK(uc_mem_write(uc, tlb_base + 0x1000 + pdpo, &pdpe_mem, sizeof(pdpe))); OK(uc_mem_write(uc, tlb_base + 0x2000 + pdo, &pde_mem, sizeof(pde))); - OK(uc_reg_write(uc, UC_X86_REG_CR3, &tlb_base)); + uint32_t cr3 = tlb_base & 0xFFFFFFFF; + cr3 = LEINT32(cr3); + OK(uc_reg_write(uc, UC_X86_REG_CR3, &cr3)); OK(uc_reg_read(uc, UC_X86_REG_CR0, &cr0)); OK(uc_reg_read(uc, UC_X86_REG_CR4, &cr4)); OK(uc_reg_read(uc, UC_X86_REG_MSR, &msr));