NetBSD Problem Report #48451

From www@NetBSD.org  Sun Dec 15 19:23:07 2013
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "Postmaster NetBSD.org" (verified OK))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 552EDA61C3
	for <gnats-bugs@gnats.NetBSD.org>; Sun, 15 Dec 2013 19:23:07 +0000 (UTC)
Message-Id: <20131215192305.C33C3A642D@mollari.NetBSD.org>
Date: Sun, 15 Dec 2013 19:23:05 +0000 (UTC)
From: eirsch@yahoo.de
Reply-To: eirsch@yahoo.de
To: gnats-bugs@NetBSD.org
Subject: NMI ... going to debugger at install -> bge BCM5717
X-Send-Pr-Version: www-1.0

>Number:         48451
>Category:       port-amd64
>Synopsis:       NMI ... going to debugger at install -> bge BCM5717
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    msaitoh
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Dec 15 19:25:00 +0000 2013
>Closed-Date:    Wed Jun 01 03:30:46 +0000 2016
>Last-Modified:  Wed Jun 01 03:30:46 +0000 2016
>Originator:     Erik Irsch
>Release:        NetBSD-6.99.28
>Organization:
>Environment:
AMD64 - uname -a not possible because of stop to DB at boot.
>Description:
Hi,

on a HP ML310 Gen8 server with a internal dual port HP 330i (Broadcom BMC5717)  the installer dropped at boot to the kernel debugger. The last lines seen on the screen were:

bge0: interrupting at ioapic8 pin 16
NMI ... going to debugger
Stopped in pid 0.1 (system) at netbsd:bus_space_read4+0xa:         ret
db(0)

The server booted fine with NetBSD 6.1.2 but there are messages about unknown bge chipset BMC5717 when doing ifconfig.

I tried "current" because there were commits that shows that this nic should be added there. So I would be happy to help in fixing this problem 

>How-To-Repeat:

Boot these current version with option 1 or option 2 an a HP ML310 Gen8 with 330i dual port network card.


>Fix:

>Release-Note:

>Audit-Trail:
From: Masanobu SAITOH <msaitoh@execsw.org>
To: gnats-bugs@NetBSD.org, port-amd64-maintainer@netbsd.org, 
 gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Cc: msaitoh@execsw.org
Subject: Re: port-amd64/48451: NMI ... going to debugger at install -> bge
 BCM5717
Date: Mon, 16 Dec 2013 12:05:37 +0900

 > Hi,
 > 
 > on a HP ML310 Gen8 server with a internal dual port HP 330i (Broadcom BMC5717)  the installer dropped at boot to the kernel debugger. The last lines seen on the screen were:
 > 
 > bge0: interrupting at ioapic8 pin 16
 > NMI ... going to debugger
 > Stopped in pid 0.1 (system) at netbsd:bus_space_read4+0xa:         ret
 > db(0)

 Could you show me the output of "trace" command at the ddb prompt?

 -- 
 -----------------------------------------------
                 SAITOH Masanobu (msaitoh@execsw.org
                                  msaitoh@netbsd.org)

Responsible-Changed-From-To: port-amd64-maintainer->msaitoh
Responsible-Changed-By: msaitoh@NetBSD.org
Responsible-Changed-When: Wed, 07 May 2014 02:44:17 +0000
Responsible-Changed-Why:
mine.


From: Masanobu SAITOH <msaitoh@execsw.org>
To: gnats-bugs@NetBSD.org, port-amd64-maintainer@netbsd.org, 
 gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Cc: msaitoh@execsw.org
Subject: Re: port-amd64/48451: NMI ... going to debugger at install -> bge
 BCM5717
Date: Thu, 22 May 2014 15:05:59 +0900

 (2013/12/16 4:25), eirsch@yahoo.de wrote:
 >> Number:         48451
 >> Category:       port-amd64
 >> Synopsis:       NMI ... going to debugger at install -> bge BCM5717
 >> Confidential:   no
 >> Severity:       non-critical
 >> Priority:       low
 >> Responsible:    port-amd64-maintainer
 >> State:          open
 >> Class:          sw-bug
 >> Submitter-Id:   net
 >> Arrival-Date:   Sun Dec 15 19:25:00 +0000 2013
 >> Originator:     Erik Irsch
 >> Release:        NetBSD-6.99.28
 >> Organization:
 >> Environment:
 > AMD64 - uname -a not possible because of stop to DB at boot.
 >> Description:
 > Hi,
 > 
 > on a HP ML310 Gen8 server with a internal dual port HP 330i (Broadcom BMC5717)  the installer dropped at boot to the kernel debugger. The last lines seen on the screen were:
 > 
 > bge0: interrupting at ioapic8 pin 16
 > NMI ... going to debugger
 > Stopped in pid 0.1 (system) at netbsd:bus_space_read4+0xa:         ret
 > db(0)
 > 
 > The server booted fine with NetBSD 6.1.2 but there are messages about unknown bge chipset BMC5717 when doing ifconfig.
 > 
 > I tried "current" because there were commits that shows that this nic should be added there. So I would be happy to help in fixing this problem
 > 
 >> How-To-Repeat:
 > 
 > Boot these current version with option 1 or option 2 an a HP ML310 Gen8 with 330i dual port network card.
 > 
 > 
 >> Fix:

  I got HP microserver Gen8 and it had the same problem.
 The following patch fixes the problem.

 Index: pci_map.c
 ===================================================================
 RCS file: /cvsroot/src/sys/dev/pci/pci_map.c,v
 retrieving revision 1.30
 diff -u -p -r1.30 pci_map.c
 --- pci_map.c	20 Oct 2012 06:03:38 -0000	1.30
 +++ pci_map.c	7 May 2014 22:12:32 -0000
 @@ -291,20 +291,22 @@ pci_mapreg_submap(const struct pci_attac
  	bus_space_handle_t handle;
  	bus_addr_t base;
  	bus_size_t size;
 +#if 0
  	int flags;
 +#endif

  	if (PCI_MAPREG_TYPE(type) == PCI_MAPREG_TYPE_IO) {
  		if ((pa->pa_flags & PCI_FLAGS_IO_OKAY) == 0)
  			return 1;
  		if (pci_io_find(pa->pa_pc, pa->pa_tag, reg, type, &base,
 -		    &size, &flags))
 +			&size, NULL)) /* XXX was &flags */
  			return 1;
  		tag = pa->pa_iot;
  	} else {
  		if ((pa->pa_flags & PCI_FLAGS_MEM_OKAY) == 0)
  			return 1;
  		if (pci_mem_find(pa->pa_pc, pa->pa_tag, reg, type, &base,
 -		    &size, &flags))
 +			&size, NULL)) /* XXX was &flags */
  			return 1;
  		tag = pa->pa_memt;
  	}
 @@ -329,9 +331,13 @@ pci_mapreg_submap(const struct pci_attac

  	if ((maxsize < size && offset + maxsize <= size) || offset != 0)
  		return 1;
 -
 +#if 0
  	if (bus_space_map(tag, base, maxsize, busflags | flags, &handle))
  		return 1;
 +#else
 +	if (bus_space_map(tag, base, maxsize, busflags, &handle))
 +		return 1;
 +#endif

  	if (tagp != NULL)
  		*tagp = tag;


 For BCM5717, 18, 19 and 20, the prefechable bit in BAR register
 is set. The above patch ignore the bit.

 I won't commit this change because I think this change is NOT a
 right solution. I'm now checking our pci code and other OS's code.

 -- 
 -----------------------------------------------
                 SAITOH Masanobu (msaitoh@execsw.org
                                  msaitoh@netbsd.org)

From: "SAITOH Masanobu" <msaitoh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/48451 CVS commit: src/sys/dev/pci
Date: Tue, 22 Jul 2014 17:25:19 +0000

 Module Name:	src
 Committed By:	msaitoh
 Date:		Tue Jul 22 17:25:19 UTC 2014

 Modified Files:
 	src/sys/dev/pci: if_bge.c

 Log Message:
  Add workaround for PR#48451. Some BCM5717-5720 based systems get NMI on boot.
 This problem doesn't occur when we don't use prefetchable memory in the APE
 area. I don't know the reason...  The way to not to use prefetchable memory
 was adviced by Riastradh. Tested with HP MicroServer Gen8.


 To generate a diff of this commit:
 cvs rdiff -u -r1.272 -r1.273 src/sys/dev/pci/if_bge.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "SAITOH Masanobu" <msaitoh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/48451 CVS commit: src/sys/dev/pci
Date: Thu, 24 Jul 2014 13:22:49 +0000

 Module Name:	src
 Committed By:	msaitoh
 Date:		Thu Jul 24 13:22:49 UTC 2014

 Modified Files:
 	src/sys/dev/pci: if_bge.c

 Log Message:
  Yet another change for PR#48451. Don't use prefetchable memory for BAR0, too.
 Reported by taca@.


 To generate a diff of this commit:
 cvs rdiff -u -r1.274 -r1.275 src/sys/dev/pci/if_bge.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/48451 CVS commit: [netbsd-6] src/sys/dev
Date: Sun, 7 Dec 2014 16:39:56 +0000

 Module Name:	src
 Committed By:	martin
 Date:		Sun Dec  7 16:39:55 UTC 2014

 Modified Files:
 	src/sys/dev/mii [netbsd-6]: brgphy.c brgphyreg.h
 	src/sys/dev/pci [netbsd-6]: if_bge.c if_bgereg.h if_bnx.c if_bnxreg.h
 	    if_bnxvar.h

 Log Message:
 Pull up the following, requested by msaitoh in #1207:

 sys/dev/mii/brgphy.c				1.69, 1.71-1.76 via patch
 sys/dev/mii/brgphyreg.h				1.6-1.7, 1.9
 sys/dev/pci/if_bge.c				1.259,1.267-1.276 via patch
 sys/dev/pci/if_bgereg.h				1.87-1.88
 sys/dev/pci/if_bnx.c				1.48, 1.49, 1.52-1.57 via patch
 sys/dev/pci/if_bnxreg.h				1.15-1.18
 sys/dev/pci/if_bnxvar.h				1.4-1.6

 	Changes for bge(4), bnx(4) and brgphy(4):
 	- Add device IDs for Broadcom BCM57710, BCM57711(E), BCM57712(E) and
 	  BCM5719 into pcidevs.
 	- Change BCM5720's device ID from 0x1658 to 0x165f. 0x1658 is only for
 	  the pre-product and not released to public.
 	- Fix detection of BGEPHYF_FIBER_{MII|TBI}
 	- Fix typo in comment.
 	- KNF
 	- brgphy(4):
 	  - Add BCM5708S support.
 	  - Add 2500SX support.
 	  - Fix bit definition of BRGPHY_MRBE_MSG_PG5_NP_T2 from FreeBSD.
 	  - Remove extra delay in brgphy_mii_phy_auto. Same as {Free,Open}BSD.
 	  - Fix media detect on some Fiber chips.
 	  - Add BCM5706.
 	- bge(4):
 	  - Print yet another hardware config word in SRAM(BGE_SRAM_DATA_CFG_5)
 	    for BCM5717 and newer devices.
 	  - Fix a trivial bug in #ifdef NOTYET.
 	  - Add BGEPHYF_NO_WIRESPEED flag for fiber devices.
 	  - Print APE firmware correctly.
 	  - Don't use the PHY Auto Poll Mode on many chips. This fixes a bug
 	    that MII Fiber NIC drop packets about 50%. Same as {Free,Open}BSD.
 	    Tested on HP Moonshot.
 	  - Add workaround for PR#48451. Some BCM5717-5720 based systems get
 	    NMI on boot. This problem doesn't occur when we don't use
 	    prefetchable memory in the APE area. I don't know the reason...
 	    Tested with HP MicroServer Gen8.
 	  - Fix a bug that bge can't be initialized correctly on some sparc64
 	    systems (PR#49018).
 	  - Change initializaton order as the same as the document, Linux tg3
 	    and FreeBSD (part of r241436).
 	  - In the BCM5703, the DMA read watermark should be set to less than
 	    or equal to the maximum memory read byte count of the PCI-X command
 	    register. Same as FreeBSD r204978 and Linux tg3 driver.
 	- bnx(4):
 	  - Enclose #ifdef BNX_DEBUG correctly.
 	  - Add 2500SX support.
 	  - Print some information (ASCI revision, PCI status, etc).
 	    From FreeBSD.


 To generate a diff of this commit:
 cvs rdiff -u -r1.59.8.6 -r1.59.8.7 src/sys/dev/mii/brgphy.c
 cvs rdiff -u -r1.5.14.1 -r1.5.14.2 src/sys/dev/mii/brgphyreg.h
 cvs rdiff -u -r1.200.2.3 -r1.200.2.4 src/sys/dev/pci/if_bge.c
 cvs rdiff -u -r1.56.18.3 -r1.56.18.4 src/sys/dev/pci/if_bgereg.h
 cvs rdiff -u -r1.45.8.1 -r1.45.8.2 src/sys/dev/pci/if_bnx.c
 cvs rdiff -u -r1.14 -r1.14.10.1 src/sys/dev/pci/if_bnxreg.h
 cvs rdiff -u -r1.2.8.1 -r1.2.8.2 src/sys/dev/pci/if_bnxvar.h

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->closed
State-Changed-By: pgoyette@NetBSD.org
State-Changed-When: Wed, 01 Jun 2016 03:30:46 +0000
State-Changed-Why:
Work-around committed and pull-ups done


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2014 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.