Hi Michael! On Wed, 2023-02-22 at 10:09 +1300, Michael Schmitz wrote:
a1 is just before the end of your RAM chunk. If that's a longword access, you'd fall over the edge :) Can you disassemble the code snippet (or memcmp()) so we can see what's happening?
Here you go: 00201d14 <memcmp>: 201d14: 48e7 301c moveml %d2-%d3/%a3-%a5,%sp@- 201d18: 226f 0018 moveal %sp@(24),%a1 201d1c: 266f 001c moveal %sp@(28),%a3 201d20: 206f 0020 moveal %sp@(32),%a0 201d24: 7003 moveq #3,%d0 201d26: b088 cmpl %a0,%d0 201d28: 650a bcss 201d34 <memcmp+0x20> 201d2a: 4281 clrl %d1 201d2c: b288 cmpl %a0,%d1 201d2e: 661e bnes 201d4e <memcmp+0x3a> 201d30: 4280 clrl %d0 201d32: 6030 bras 201d64 <memcmp+0x50> 201d34: 2a49 moveal %a1,%a5 201d36: 284b moveal %a3,%a4 201d38: 264c moveal %a4,%a3 201d3a: 224d moveal %a5,%a1 201d3c: bb8c cmpml %a4@+,%a5@+ 201d3e: 66ea bnes 201d2a <memcmp+0x16> 201d40: 5988 subql #4,%a0 201d42: 7003 moveq #3,%d0 201d44: b088 cmpl %a0,%d0 201d46: 65f0 bcss 201d38 <memcmp+0x24> 201d48: 224d moveal %a5,%a1 201d4a: 264c moveal %a4,%a3 201d4c: 60dc bras 201d2a <memcmp+0x16> 201d4e: 4283 clrl %d3 201d50: 1631 1800 moveb %a1@(0,%d1:l),%d3 201d54: 4282 clrl %d2 201d56: 1433 1800 moveb %a3@(0,%d1:l),%d2 201d5a: 2003 movel %d3,%d0 201d5c: 9082 subl %d2,%d0 201d5e: 5281 addql #1,%d1 201d60: b483 cmpl %d3,%d2 201d62: 67c8 beqs 201d2c <memcmp+0x18> 201d64: 4cdf 380c moveml %sp@+,%d2-%d3/%a3-%a5 201d68: 4e75 rts The kernel image is actually unstripped. Is there a config option for that? Do we want to keep symbols in a non-debug kernel?
I do recall recent changes to the mm code, but that was for NOMMU. I wonder whether there was anything else that would introduce an implicit assumption about memory starting at 0x0 ...
Sounds like a possible culprit. Adrian -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer `. `' Physicist `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913