Commit 3f330293 authored by KONRAD Frederic's avatar KONRAD Frederic Committed by David Gibson
Browse files

booke206: fix booke206_tlbnps for mav 2.0



This fixes booke206_tlbnps for MAV 2.0 by checking the MMUCFG register and
return directly the right tlbnps instead of computing it from non existing
field.

Signed-off-by: default avatarKONRAD Frederic <frederic.konrad@adacore.com>
Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
parent 2e886fb3
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2473,10 +2473,10 @@ static inline ppcmas_tlb_t *booke206_get_tlbm(CPUPPCState *env, const int tlbn,
/* returns bitmap of supported page sizes for a given TLB */
static inline uint32_t booke206_tlbnps(CPUPPCState *env, const int tlbn)
{
    bool mav2 = false;
    uint32_t ret = 0;

    if (mav2) {
    if ((env->spr[SPR_MMUCFG] & MMUCFG_MAVN) == MMUCFG_MAVN_V2) {
        /* MAV2 */
        ret = env->spr[SPR_BOOKE_TLB0PS + tlbn];
    } else {
        uint32_t tlbncfg = env->spr[SPR_BOOKE_TLB0CFG + tlbn];