From 59ff63a90d45501ffec109a2779863b099471451 Mon Sep 17 00:00:00 2001 From: mio Date: Mon, 14 Apr 2025 12:42:28 +0800 Subject: [PATCH] Fix cr3 --- tests/unit/test_x86.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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));