Message ID | 20240722040742.11513-9-yaoxt.fnst@fujitsu.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | make range overlap check more readable | expand |
On 22/7/24 06:07, Yao Xingtao via wrote: > use ranges_overlap() instead of open-coding the overlap check to improve > the readability of the code. > > Signed-off-by: Yao Xingtao <yaoxt.fnst@fujitsu.com> > --- > target/sparc/ldst_helper.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/target/sparc/ldst_helper.c b/target/sparc/ldst_helper.c > index 2d48e98bf468..d92c9f15934e 100644 > --- a/target/sparc/ldst_helper.c > +++ b/target/sparc/ldst_helper.c > @@ -19,6 +19,7 @@ > > #include "qemu/osdep.h" > #include "qemu/log.h" > +#include "qemu/range.h" > #include "cpu.h" > #include "tcg/tcg.h" > #include "exec/helper-proto.h" > @@ -240,9 +241,7 @@ static void replace_tlb_1bit_lru(SparcTLBEntry *tlb, > if (new_ctx == ctx) { > uint64_t vaddr = tlb[i].tag & ~0x1fffULL; > uint64_t size = 8192ULL << 3 * TTE_PGSIZE(tlb[i].tte); > - if (new_vaddr == vaddr Please mention in the patch description why it is safe to remove this equality check. With that: Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> > - || (new_vaddr < vaddr + size > - && vaddr < new_vaddr + new_size)) { > + if (ranges_overlap(new_vaddr, new_size, vaddr, size)) { > DPRINTF_MMU("auto demap entry [%d] %lx->%lx\n", i, vaddr, > new_vaddr); > replace_tlb_entry(&tlb[i], tlb_tag, tlb_tte, env1);
diff --git a/target/sparc/ldst_helper.c b/target/sparc/ldst_helper.c index 2d48e98bf468..d92c9f15934e 100644 --- a/target/sparc/ldst_helper.c +++ b/target/sparc/ldst_helper.c @@ -19,6 +19,7 @@ #include "qemu/osdep.h" #include "qemu/log.h" +#include "qemu/range.h" #include "cpu.h" #include "tcg/tcg.h" #include "exec/helper-proto.h" @@ -240,9 +241,7 @@ static void replace_tlb_1bit_lru(SparcTLBEntry *tlb, if (new_ctx == ctx) { uint64_t vaddr = tlb[i].tag & ~0x1fffULL; uint64_t size = 8192ULL << 3 * TTE_PGSIZE(tlb[i].tte); - if (new_vaddr == vaddr - || (new_vaddr < vaddr + size - && vaddr < new_vaddr + new_size)) { + if (ranges_overlap(new_vaddr, new_size, vaddr, size)) { DPRINTF_MMU("auto demap entry [%d] %lx->%lx\n", i, vaddr, new_vaddr); replace_tlb_entry(&tlb[i], tlb_tag, tlb_tte, env1);
use ranges_overlap() instead of open-coding the overlap check to improve the readability of the code. Signed-off-by: Yao Xingtao <yaoxt.fnst@fujitsu.com> --- target/sparc/ldst_helper.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)