Subject: Re: changes from apr 15 to apr 23
To: Neil J. McRae <neil@domino.org>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: port-sparc
Date: 04/28/1996 10:14:19
On Sun, 28 Apr 1996 13:28:03 +0100 
 "Neil J. McRae" <neil@domino.org> wrote:

 > The 4m kernel boots fine. The 4c kernel hangs at root on sd0, but I can
 > L1-A it. 

Actually, the 4c kernel doesn't HANG at that point, but rather, init has 
called sigsuspend():

        if (WIFSIGNALED(status) && WTERMSIG(status) == SIGTERM &&
            requested_transition == catatonia) {
                /* /etc/rc executed /sbin/reboot; wait for the end quietly */
                sigset_t s;

                sigfillset(&s);
                for (;;)
                        sigsuspend(&s);
        }

That's the only call to sigsuspend() from within init.

 > This reminded me of a problem that I had a while ago, so I tried something.
 > 
 > I took removed the floppy disk driver from my config file, made a kernel 
 > and this booted fine on my IPX.

! Interesting...

 > I would assume then that something in the fd driver is hanging the kernel?

I can't really think of anything off-hand ... probably at least a few 
calls to delay() ... But, then again, there are plenty of calls to 
delay() throughout the kernel.  Removing a .o like that can also slightly 
alter how parts of the kernel get mapped, i.e. the text is smaller, so 
anything after the floppy would appear earier, page boundaries hit the 
kernel text differently, etc.

--------------------------------------------------------------------------
Jason R. Thorpe                                       thorpej@nas.nasa.gov
NASA Ames Research Center                               Home: 408.866.1912
NAS: M/S 258-6                                          Work: 415.604.0935
Moffett Field, CA 94035                                Pager: 415.428.6939