mirror of https://github.com/xemu-project/xemu.git
target/loongarch/tlb_helper: Fix coverity integer overflow error
Replace '1 << shift' with 'MAKE_64BIT_MASK(shift, 1)' to fix unintentional integer overflow errors in tlb_helper file. Fix coverity CID: 1489759 1489762 Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220715060740.1500628-5-yangxiaojuan@loongson.cn> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
e4ad16f492
commit
2b3ef8e5c6
|
@ -298,7 +298,7 @@ static void invalidate_tlb_entry(CPULoongArchState *env, int index)
|
||||||
} else {
|
} else {
|
||||||
tlb_ps = FIELD_EX64(env->CSR_STLBPS, CSR_STLBPS, PS);
|
tlb_ps = FIELD_EX64(env->CSR_STLBPS, CSR_STLBPS, PS);
|
||||||
}
|
}
|
||||||
pagesize = 1 << tlb_ps;
|
pagesize = MAKE_64BIT_MASK(tlb_ps, 1);
|
||||||
mask = MAKE_64BIT_MASK(0, tlb_ps + 1);
|
mask = MAKE_64BIT_MASK(0, tlb_ps + 1);
|
||||||
|
|
||||||
if (tlb_v0) {
|
if (tlb_v0) {
|
||||||
|
@ -736,7 +736,7 @@ void helper_ldpte(CPULoongArchState *env, target_ulong base, target_ulong odd,
|
||||||
(tmp0 & (~(1 << R_TLBENTRY_G_SHIFT)));
|
(tmp0 & (~(1 << R_TLBENTRY_G_SHIFT)));
|
||||||
ps = ptbase + ptwidth - 1;
|
ps = ptbase + ptwidth - 1;
|
||||||
if (odd) {
|
if (odd) {
|
||||||
tmp0 += (1 << ps);
|
tmp0 += MAKE_64BIT_MASK(ps, 1);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/* 0:64bit, 1:128bit, 2:192bit, 3:256bit */
|
/* 0:64bit, 1:128bit, 2:192bit, 3:256bit */
|
||||||
|
|
Loading…
Reference in New Issue