Commit 3924a9aa authored by Edgar E. Iglesias's avatar Edgar E. Iglesias
Browse files

target-microblaze: mmu: Add a configurable output address mask



Add a configurable output address mask, used to mimic the
configurable physical address bit width.

Reviewed-by: default avatarAlistair Francis <alistair.francis@wdc.com>
Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
Signed-off-by: default avatarEdgar E. Iglesias <edgar.iglesias@xilinx.com>
parent d2f004c3
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -128,6 +128,7 @@ static void mb_cpu_reset(CPUState *s)
    env->mmu.c_mmu = 3;
    env->mmu.c_mmu_tlb_access = 3;
    env->mmu.c_mmu_zones = 16;
    env->mmu.c_addr_mask = MAKE_64BIT_MASK(0, cpu->cfg.addr_size);
#endif
}

+1 −0
Original line number Diff line number Diff line
@@ -164,6 +164,7 @@ unsigned int mmu_translate(struct microblaze_mmu *mmu,
            tlb_rpn = d & TLB_RPN_MASK;

            lu->vaddr = tlb_tag;
            lu->paddr = tlb_rpn & mmu->c_addr_mask;
            lu->paddr = tlb_rpn;
            lu->size = tlb_size;
            lu->err = ERR_HIT;
+1 −0
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ struct microblaze_mmu
    int c_mmu;
    int c_mmu_tlb_access;
    int c_mmu_zones;
    uint64_t c_addr_mask; /* Mask to apply to physical addresses.  */
};

struct microblaze_mmu_lookup