diff mbox series

[08/13] sparc/ldst_helper: make range overlap check more readable

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

Commit Message

Xingtao Yao (Fujitsu) July 22, 2024, 4:07 a.m. UTC
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(-)

Comments

Philippe Mathieu-Daudé July 22, 2024, 12:18 p.m. UTC | #1
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 mbox series

Patch

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);