7.0 RC1/SPARC64 panic in boot

Eirik Øverby ltning at anduin.net
Tue Jan 22 23:11:02 PST 2008


Will apply the patch and reboot in an hour or two.
The isp interface is only used for an external array, so we disable it  
and boot from internal drives on esp.
Thanks!
/Eirik

On Jan 23, 2008, at 7:32 AM, Scott Long wrote:

> Eirik Øverby wrote:
>> On Jan 22, 2008, at 7:23 PM, Marius Strobl wrote:
>>> On Tue, Jan 22, 2008 at 07:16:16AM +0100, Eirik verby wrote:
>>>> Hi list,
>>>>
>>>> by disabling the isp driver (set hint.isp.o.disabled=1), the  
>>>> system  comes up. This of course denies us access to the external  
>>>> disk array  hosted by the internal QLogic controller, but  
>>>> pinpoints the problem.
>>>>
>>>> We tried setting hint.isp.0.prefer_iomap=1, which made no  
>>>> difference  (though by reading the code, I don't see that it ever  
>>>> used this).
>>>>
>>>> Can anyone help us out here?
>>>
>>> Scott, could this be due to a missing MFC of isp_sbus.c rev. 1.36?
>> If that would be the case I'd be most happy to hear that. I'll also  
>> be more than happy to test, and can do so on relatively short  
>> notice (at least for another few hours).
>> We have, for the record, gone through some basic troubleshooting:  
>> Replaced memory (as this error also can show up under Solaris and  
>> is usually an indicator of bad memory), replaced SCSI controller  
>> with another one (still isp driven), and testing various device  
>> hints - suffice to say we have wasted our time so far ;)
>
> Are you able to compile a new kernel without having to install first?
> if so, apply the attached patch and let me know if it works.
>
> Scott
> Index: isp_sbus.c
> ===================================================================
> RCS file: /usr1/ncvs/src/sys/dev/isp/isp_sbus.c,v
> retrieving revision 1.35
> retrieving revision 1.36
> diff -u -r1.35 -r1.36
> --- isp_sbus.c	11 May 2007 13:47:28 -0000	1.35
> +++ isp_sbus.c	5 Nov 2007 11:22:18 -0000	1.36
> @@ -29,7 +29,7 @@
>  */
>
> #include <sys/cdefs.h>
> -__FBSDID("$FreeBSD: src/sys/dev/isp/isp_sbus.c,v 1.35 2007/05/11  
> 13:47:28 mjacob Exp $");
> +__FBSDID("$FreeBSD: src/sys/dev/isp/isp_sbus.c,v 1.36 2007/11/05  
> 11:22:18 scottl Exp $");
>
> #include <sys/param.h>
> #include <sys/systm.h>
> @@ -327,21 +327,26 @@
> 	/*
> 	 * Make sure we're in reset state.
> 	 */
> +	ISP_LOCK(isp);
> 	isp_reset(isp);
> 	if (isp->isp_state != ISP_RESETSTATE) {
> 		isp_uninit(isp);
> +		ISP_UNLOCK(isp);
> 		goto bad;
> 	}
> 	isp_init(isp);
> 	if (isp->isp_role != ISP_ROLE_NONE && isp->isp_state !=  
> ISP_INITSTATE) {
> 		isp_uninit(isp);
> +		ISP_UNLOCK(isp);
> 		goto bad;
> 	}
> 	isp_attach(isp);
> 	if (isp->isp_role != ISP_ROLE_NONE && isp->isp_state !=  
> ISP_RUNSTATE) {
> 		isp_uninit(isp);
> +		ISP_UNLOCK(isp);
> 		goto bad;
> 	}
> +	ISP_UNLOCK(isp);
> 	return (0);
>
> bad:



More information about the freebsd-sparc64 mailing list