When I reread the thread I see Brian was doing some testing/fuzzing, that's why he found that out.
I managed to get my old router running. It's BCM5354 (BCM3302 v2.9) running on Linux 2.4.35.
I used the following code (gnu as compiled but replaced the nop after branch with the branch instruction above):
4000d0: 10000003 b 4000e0 <__start+0x10>
4000d4: 45454545 0x45454545
...
4000e0: 2404002a li a0,42
4000e4: 24020fa1 li v0,4001
4000e8: 0000000c syscall
4000ec: 00000000 nop
Program was terminated with the trap Illegal instruction.
When I reread the thread I see Brian was doing some testing/fuzzing, that's why he found that out.
I managed to get my old router running. It's BCM5354 (BCM3302 v2.9) running on Linux 2.4.35.
I used the following code (gnu as compiled but replaced the nop after branch with the branch instruction above):
4000d0: 10000003 b 4000e0 <__start+0x10>
4000d4: 45454545 0x45454545
...
4000e0: 2404002a li a0,42
4000e4: 24020fa1 li v0,4001
4000e8: 0000000c syscall
4000ec: 00000000 nop
Program was terminated with the trap Illegal instruction.