On Monday, 9 June 2025 22:34:02 CEST Adam Lackorzynski wrote:
> 
> thanks. Could probably be also done in C/C++, but your description is so
> good that this should be enough?
> 
> diff --git a/server/src/ARCH-mips/crt0.S b/server/src/ARCH-mips/crt0.S
> index b8fa86ba..f4c8d5dd 100644
> --- a/server/src/ARCH-mips/crt0.S
> +++ b/server/src/ARCH-mips/crt0.S
> @@ -49,6 +49,7 @@ syncICache: ;
>         li      $v1, 2        # size is 2 << min(DL, IL)
>         sllv    $v0, $v1, $v0
> 
> +       addu    $a1, $a0, $a1 # a1 is end = start + size
>         # run the loop
>  10:
>         synci   0($a0)

I would think so. $a1 remains the region size and $a0 is still the region 
start at that point, so adding the two should yield the region end. Then, 
testing $a0 against $a1 should have the desired outcome.

I should probably have made this simple fix myself, but I wanted to be 
absolutely sure that I understood the behaviour and the intent.

Paul


_______________________________________________
l4-hackers mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to