Port-sun2 archive

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

Re: Crash in tme -- mm58167.c


On 2020/03/06 2:12, Jason Thorpe wrote:

On Mar 5, 2020, at 12:37 AM, Jason Thorpe <thorpej%me.com@localhost> wrote:

I'm installing NetBSD 9 in TME and encountered a problem ... looks like NetBSD issues a read to the mm58167 GO register, which causes an abort in _tme_mm58167_bus_cycle().  I don't see off hand where the kernel actually issues this read (it does issue a write to GO in mm58167_settime_ymdhms()).  Anyway, I worked around this for now by making TME return a 0 for this register read and everything seems fine.  But I'm curious if this is new, and wondering if anyone's actually running NetBSD/sun2 in TME at the moment?

Well, I checked in the change TME in pkgsrc, and I left the system to (slowly) extract the install base and etc install sets (lol, not going to try and run anything else on this, for now anyway).  I still have not managed to find where the kernel is issuing this register read, so it might point to a different issue in TME itself (I have not spent a great deal of time analyzing how the bus cycle logic works).  But it seemed antisocial to abort the emulator in this case regardless (and I think the real hardware in this case would probably also simply return an undefined value -- at least, I can't think if any reason why it would cause a bus error or similar fault).

You are using your own custom kernel, aren't you?

GENERIC kernel for sun2 had not been bootable on TME, at least
since Jan 2019, when I worked for this PR:


It turned out to be due to restriction by bootloader which maps
only 2MB (0x400000 to 0x5fffff) for kernel. Even if firmware could
load kernel, it hangs with:

    scsibus0: waiting 2 seconds for devices to settle...

I don't know whether this is related to your problem or not. For me,
further reduction of kernel size seems to fix a problem.

I added module(7) support for sun2, and striped off most kernel
options from GENERIC kernel. However, GENERIC is still near 2MB and
should exceed the limit in the near future...

Also, for recent -HEAD, kernel was frozen during early boot stage
in mutex_exit(9). I fixed this too.

Now, GENERIC kernel from -HEAD successfully boots for me on TME.
Still, services_mkdb(8) does not complete, but killing it by ^C
brings the system to multiuser.


Home | Main Index | Thread Index | Old Index