Re: Kernel versions 6.x don't boot on Amiga 4000

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux