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 loop10: 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