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:
(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.