From a3ded3bc4ca56d0e292870197bb3c2fab9b90682 Mon Sep 17 00:00:00 2001 From: Guorui Li Date: Fri, 28 Feb 2025 08:23:46 +0800 Subject: [PATCH] [bugfix][risc-v]fix the PPN length error in GET_PPN(pte). (#10020) --- libcpu/risc-v/common64/mmu.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcpu/risc-v/common64/mmu.h b/libcpu/risc-v/common64/mmu.h index e5385d2bf2..97d2cd0f32 100644 --- a/libcpu/risc-v/common64/mmu.h +++ b/libcpu/risc-v/common64/mmu.h @@ -41,7 +41,7 @@ struct mem_desc #define GET_L2(addr) __PARTBIT(addr, VPN1_SHIFT, VPN1_BIT) #define GET_L3(addr) __PARTBIT(addr, VPN0_SHIFT, VPN0_BIT) #define GET_PPN(pte) \ - (__PARTBIT(pte, PTE_PPN_SHIFT, PHYSICAL_ADDRESS_WIDTH_BITS - PTE_PPN_SHIFT)) + (__PARTBIT(pte, PTE_PPN_SHIFT, PHYSICAL_ADDRESS_WIDTH_BITS - PAGE_OFFSET_BIT)) #define GET_PADDR(pte) (GET_PPN(pte) << PAGE_OFFSET_BIT) #define VPN_TO_PPN(vaddr, pv_off) (((rt_uintptr_t)(vaddr)) + (pv_off)) #define PPN_TO_VPN(paddr, pv_off) (((rt_uintptr_t)(paddr)) - (pv_off))