NetBSD Problem Report #40475
From www@NetBSD.org Sun Jan 25 14:24:53 2009
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
by narn.NetBSD.org (Postfix) with ESMTP id 2BF3563C004
for <gnats-bugs@gnats.netbsd.org>; Sun, 25 Jan 2009 14:24:53 +0000 (UTC)
Message-Id: <20090125142452.EB0E363BFFE@narn.NetBSD.org>
Date: Sun, 25 Jan 2009 14:24:52 +0000 (UTC)
From: kiyohara@kk.iij4u.or.jp
Reply-To: kiyohara@kk.iij4u.or.jp
To: gnats-bugs@NetBSD.org
Subject: pxaip abnormal match
X-Send-Pr-Version: www-1.0
>Number: 40475
>Category: kern
>Synopsis: pxaip abnormal match
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: kern-bug-people
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Jan 25 14:25:00 +0000 2009
>Closed-Date: Wed Nov 21 08:01:31 +0000 2018
>Last-Modified: Wed Nov 21 08:01:31 +0000 2018
>Originator: KIYOHARA Takashi
>Release: -current
>Organization:
>Environment:
NetBSD greed.sins.soum.co.jp 5.99.7 NetBSD 5.99.7 (GREED) #0: EZ 1 24 20:18:53 JST 2009 lance@greed.sins.soum.co.jp:/usr/src/sys/arch/amd64/compile/GREED amd64
>Description:
Perhaps, the pxaip's peripherals matched abnormal possibility.
Present arch/evbarm/conf/GUMSTIX and arch/zaurus/conf/GENERIC are
matched by chance correctly. However, these are customizing or this dangerous match will be done in the future.
>How-To-Repeat:
>Fix:
Index: sys/arch/arm/sa11x0/sa11x0_ost.c
===================================================================
RCS file: /cvsroot/src/sys/arch/arm/sa11x0/sa11x0_ost.c,v
retrieving revision 1.25
diff -u -r1.25 sa11x0_ost.c
--- sys/arch/arm/sa11x0/sa11x0_ost.c 10 May 2008 15:31:04 -0000 1.25
+++ sys/arch/arm/sa11x0/sa11x0_ost.c 25 Jan 2009 14:07:18 -0000
@@ -97,7 +99,15 @@
static int
saost_match(struct device *parent, struct cfdata *match, void *aux)
{
+ struct sa11x0_attach_args *sa = aux;
+#if defined(CPU_XSCALE_PXA270) || defined(CPU_XSCALE_PXA250)
+ const uint32_t ost_base = PXA2X0_OST_BASE;
+#else
+ const uint32_t ost_base = SAOST_BASE;
+#endif
+ if (sa->sa_addr != ost_base)
+ return 0;
return 1;
}
Index: sys/arch/arm/xscale/pxa2x0_ohci.c
===================================================================
RCS file: /cvsroot/src/sys/arch/arm/xscale/pxa2x0_ohci.c,v
retrieving revision 1.3
diff -u -r1.3 pxa2x0_ohci.c
--- sys/arch/arm/xscale/pxa2x0_ohci.c 4 Apr 2008 17:44:43 -0000 1.3
+++ sys/arch/arm/xscale/pxa2x0_ohci.c 25 Jan 2009 14:07:18 -0000
@@ -56,9 +56,12 @@
static int
pxaohci_match(device_t parent, struct cfdata *cf, void *aux)
{
+ struct pxaip_attach_args *pxa = aux;
- if (CPU_IS_PXA270)
+ if (CPU_IS_PXA270 && pxa->pxa_addr == PXA2X0_USBHC_BASE) {
+ pxa->pxa_size = PXA2X0_USBHC_SIZE;
return 1;
+ }
return 0;
}
@@ -85,12 +92,12 @@
sc->sc.sc_bus.hci_private = sc;
/* Map I/O space */
- if (bus_space_map(sc->sc.iot, PXA2X0_USBHC_BASE, PXA2X0_USBHC_SIZE, 0,
+ if (bus_space_map(sc->sc.iot, pxa->pxa_addr, pxa->pxa_size, 0,
&sc->sc.ioh)) {
aprint_error(": couldn't map memory space\n");
return;
}
- sc->sc.sc_size = PXA2X0_USBHC_SIZE;
+ sc->sc.sc_size = pxa->pxa_size;
/* XXX copied from ohci_pci.c. needed? */
bus_space_barrier(sc->sc.iot, sc->sc.ioh, 0, sc->sc.sc_size,
Index: sys/arch/arm/xscale/pxa2x0_udc.c
===================================================================
RCS file: /cvsroot/src/sys/arch/arm/xscale/pxa2x0_udc.c,v
retrieving revision 1.1
diff -u -r1.1 pxa2x0_udc.c
--- sys/arch/arm/xscale/pxa2x0_udc.c 17 Dec 2006 16:03:33 -0000 1.1
+++ sys/arch/arm/xscale/pxa2x0_udc.c 25 Jan 2009 14:07:18 -0000
@@ -52,9 +52,13 @@
static int
pxaudc_match(struct device *parent, struct cfdata *cf, void *aux)
{
+ struct pxaip_attach_args *pxa = aux;
- if (CPU_IS_PXA270)
+ if (pxa->pxa_addr == PXA2X0_USBDC_BASE) {
+ pxa->pxa_size =
+ CPU_IS_PXA270 ? PXA270_USBDC_SIZE : PXA250_USBDC_SIZE;
return 1;
+ }
return 0;
}
@@ -68,12 +72,12 @@
sc->sc_size = 0;
sc->sc_powerhook = NULL;
- if (bus_space_map(sc->sc_iot, PXA2X0_USBDC_BASE, PXA2X0_USBDC_SIZE, 0,
+ if (bus_space_map(sc->sc_iot, pxa->pxa_addr, pxa->pxa_size, 0,
&sc->sc_ioh)) {
aprint_error(": couldn't map memory space\n");
return;
}
- sc->sc_size = PXA2X0_USBDC_SIZE;
+ sc->sc_size = pxa->pxa_size;
printf(": PXA2x0 USB Device Controller\n");
Index: sys/arch/evbarm/conf/GUMSTIX
===================================================================
RCS file: /cvsroot/src/sys/arch/evbarm/conf/GUMSTIX,v
retrieving revision 1.31
diff -u -r1.31 GUMSTIX
--- sys/arch/evbarm/conf/GUMSTIX 24 Nov 2008 11:41:09 -0000 1.31
+++ sys/arch/evbarm/conf/GUMSTIX 25 Jan 2009 14:07:19 -0000
@@ -203,8 +205,11 @@
#lcd0 at pxaip?
#wsdisplay* at lcd? console ?
-# USB Controller and Devices
-pxaudc0 at pxaip? # USB Device Controller
+# USB Host/Device Controller
+ohci0 at pxaip? addr 0x4c000000 intr 3 # consoleLCD-vx,consoleLCD16-vx
+ # ALSO NEEDS pxaudc
+pxaudc0 at pxaip? addr 0x40600000
# integrated MMC/SD contoller
#pxamci0 at pxaip? addr 0x41100000 size 0x48
Index: sys/arch/zaurus/conf/GENERIC
===================================================================
RCS file: /cvsroot/src/sys/arch/zaurus/conf/GENERIC,v
retrieving revision 1.15
diff -u -r1.15 GENERIC
--- sys/arch/zaurus/conf/GENERIC 24 Nov 2008 11:41:15 -0000 1.15
+++ sys/arch/zaurus/conf/GENERIC 25 Jan 2009 14:07:26 -0000
@@ -229,8 +229,8 @@
# USB Controller and Devices
-pxaudc0 at pxaip? # USB Device Controller
-#ohci0 at pxaip? # USB Host Controller
+pxaudc0 at pxaip? addr 0x40600000 # USB Device Controller
+#ohci0 at pxaip? addr 0x4c000000 intr 3 # USB Host Controller
# PCMCIA USB controllers
#slhci* at pcmcia? function ? # ScanLogic SL811HS
Index: sys/arch/zaurus/conf/GENERIC.HOSTUSB
===================================================================
RCS file: /cvsroot/src/sys/arch/zaurus/conf/GENERIC.HOSTUSB,v
retrieving revision 1.4
diff -u -r1.4 GENERIC.HOSTUSB
--- sys/arch/zaurus/conf/GENERIC.HOSTUSB 24 Nov 2008 11:41:15 -0000
1.4
+++ sys/arch/zaurus/conf/GENERIC.HOSTUSB 25 Jan 2009 14:07:26 -0000
@@ -230,8 +230,8 @@
# USB Controller and Devices
zusb* at pxaip?
-#pxaudc0 at pxaip? # USB Device Controller
-ohci0 at pxaip? # USB Host Controller
+#pxaudc0 at pxaip? addr 0x40600000 # USB Device Controller
+ohci0 at pxaip? addr 0x4c000000 intr 3 # USB Host Controller
# PCMCIA USB controllers
#slhci* at pcmcia? function ? # ScanLogic SL811HS
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->feedback
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Thu, 03 Sep 2009 04:53:26 +0000
State-Changed-Why:
Didn't you commit these fixes since this PR was filed?
State-Changed-From-To: feedback->closed
State-Changed-By: maya@NetBSD.org
State-Changed-When: Wed, 21 Nov 2018 08:01:31 +0000
State-Changed-Why:
Committed as https://mail-index.netbsd.org/source-changes/2009/08/09/msg223814.html
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.