From owner-freebsd-firewire@FreeBSD.ORG Sun Sep 5 20:43:17 2004 Return-Path: Delivered-To: freebsd-firewire@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6517616A4CE for ; Sun, 5 Sep 2004 20:43:17 +0000 (GMT) Received: from sccrmhc11.comcast.net (sccrmhc11.comcast.net [204.127.202.55]) by mx1.FreeBSD.org (Postfix) with ESMTP id E9D1843D3F for ; Sun, 5 Sep 2004 20:43:16 +0000 (GMT) (envelope-from bfoz@terrandev.com) Received: from [192.168.0.5] (c-24-6-89-159.client.comcast.net[24.6.89.159]) by comcast.net (sccrmhc11) with ESMTP id <200409052043140110066qb2e> (Authid: bfoz); Sun, 5 Sep 2004 20:43:14 +0000 Message-ID: <413B7A61.1080704@terrandev.com> Date: Sun, 05 Sep 2004 13:43:13 -0700 From: Brandon Fosdick User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.2) Gecko/20040822 X-Accept-Language: en-us, en MIME-Version: 1.0 To: freebsd-firewire@freebsd.org Content-Type: multipart/mixed; boundary="------------080506090601020704090003" Subject: Firewire related boot hang on Asus A7N8X Deluxe Boards X-BeenThere: freebsd-firewire@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Firewire support in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Sep 2004 20:43:17 -0000 This is a multi-part message in MIME format. --------------080506090601020704090003 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Since March 2004 myself and several others have experienced boot hangs on Asus A7N8X motherboards. We didn't notice the problem until we tried to upgrade to 4.10. A full description of the problem can be found in PRi386/69218 which is at http://www.freebsd.org/cgi/query-pr.cgi?pr=i386/69218. Long story short...it originally appeared to be an ata related problem, but now it appears to be a firewire related problem. I've narrowed it down to the set of commits by simokawa to RELENG_4 at 11:50am on 28 Mar 2004, but I don't have the experise to delve into this much further. That's why I'm asking this list for help. Here's what I have so far (all of which is also in the PR): Source code from RELENG_4 at 11:45 on 28 Mar 2004 works fine. Source from the same branch, same day, at 12:00 hangs on boot right after probing the ata devices. Rebuilding the 12:00 kernel without firewire support fixes the boot hang. Using a 12:00 kernel *with* firewire support enabled will boot normally with my iPod plugged into the firewire port. It can then be rebooted without hanging many times, even with the iPod removed. However, if I power down, disconnect the cable from the wall, reconnect and boot, the boot hang will return. Also, if I allow a boot hang to happen, wait a minute and then plug in the iPod it will detect the iPod and continue to boot normally. My guess is that the firewire probe procedure is hanging, but like I said, I don't have the expertise to know for sure. Any suggestions? Attached are the diffs between the two versions mentioned above. File d1 is just the list of files that differ. Thanks -- Brandon Fosdick http://www.terranspace.org --------------080506090601020704090003 Content-Type: text/plain; name="d" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="d" diff -r 0/src/sys/dev/firewire/firewire.c 1/src/sys/dev/firewire/firewire.c 34c34 < * $FreeBSD: src/sys/dev/firewire/firewire.c,v 1.3.2.29 2004/03/28 11:50:42 simokawa Exp $ --- > * $FreeBSD: src/sys/dev/firewire/firewire.c,v 1.3.2.28 2004/01/26 04:51:15 simokawa Exp $ 47c47 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 --- > #if __FreeBSD_version < 500000 54,60d53 < #ifdef __DragonFly__ < #include "firewire.h" < #include "firewirereg.h" < #include "fwmem.h" < #include "iec13213.h" < #include "iec68113.h" < #else 66d58 < #endif 91,92c83 < static void firewire_identify (driver_t *, device_t); < static int firewire_probe (device_t); --- > static int firewire_match (device_t); 117,118c108 < DEVMETHOD(device_identify, firewire_identify), < DEVMETHOD(device_probe, firewire_probe), --- > DEVMETHOD(device_probe, firewire_match), 248a239 > microtime(&xfer->tv); 311d301 < microtime(&xfer->tv); 323,328d312 < static void < firewire_identify(driver_t *driver, device_t parent) < { < BUS_ADD_CHILD(parent, 0, "firewire", -1); < } < 330c314 < firewire_probe(device_t dev) --- > firewire_match( device_t dev ) 333c317 < return (0); --- > return -140; 431d414 < fw_busreset(fc); 644,647d626 < #ifdef __DragonFly__ < crom_add_simple_text(src, root, &buf->vendor, "DragonFly Project"); < crom_add_entry(root, CSRKEY_HW, __DragonFly_cc_version); < #else 650d628 < #endif 855c833 < printf("%s: invalid range\n", __func__); --- > printf("%s: invalid range\n", __FUNCTION__); 873c851 < printf("%s: bind failed\n", __func__); --- > printf("%s: bind failed\n", __FUNCTION__); 901c879 < printf("%s: no such bind\n", __func__); --- > printf("%s: no such bind\n", __FUNCTION__); 989,990d966 < if (xfer == NULL) < return(NULL); 992a969,970 > if (xfer == NULL) > return(NULL); 1065c1043 < printf("%s: xfer == NULL\n", __func__); --- > printf("%s: xfer == NULL\n", __FUNCTION__); 1082c1060 < printf("%s: xfer == NULL\n", __func__); --- > printf("%s: xfer == NULL\n", __FUNCTION__); 1487,1493c1465,1466 < device_printf(fc->bdev, < "bus_explore node=%d addr=0x%x resp=%d retry=%d\n", < fc->ongonode, fc->ongoaddr, xfer->resp, xfer->retry); < if (xfer->retry < fc->max_asyretry) { < fw_asystart(xfer); < return; < } --- > printf("node%d: resp=%d addr=0x%x\n", > fc->ongonode, xfer->resp, fc->ongoaddr); 1612c1585 < if (fc->ongodev != NULL) { --- > if (fc->ongodev != NULL) 1614,1616d1586 < /* Invalidate ROM */ < fc->ongodev->csrrom[0] = 0; < } 1675,1676c1645 < device_printf(fc->bdev, "bus_explore failed for %d nodes\n", < fc->retry_count); --- > printf("probe failed for %d node\n", fc->retry_count); 1863,1865c1832 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 < " src=0x%x data=%lx\n", < #else --- > #if __FreeBSD_version >= 500000 1866a1834,1835 > #else > " src=0x%x data=%lx\n", 1985,1987c1954 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 < if (&xferq->rsel.si_pid != 0) < #else --- > #if __FreeBSD_version >= 500000 1988a1956,1957 > #else > if (&xferq->rsel.si_pid != 0) 2236c2205 < #if defined(__FreeBSD__) && __FreeBSD_version >= 500000 --- > #if __FreeBSD_version >= 500000 2242c2211 < #if defined(__FreeBSD__) && __FreeBSD_version >= 500000 --- > #if __FreeBSD_version >= 500000 2248c2217 < #if defined(__FreeBSD__) && __FreeBSD_version >= 500000 --- > #if __FreeBSD_version >= 500000 2260,2262d2228 < #ifdef __DragonFly__ < DECLARE_DUMMY_MODULE(firewire); < #endif diff -r 0/src/sys/dev/firewire/firewire.h 1/src/sys/dev/firewire/firewire.h 34c34 < * $FreeBSD: src/sys/dev/firewire/firewire.h,v 1.2.2.12 2004/03/28 11:50:42 simokawa Exp $ --- > * $FreeBSD: src/sys/dev/firewire/firewire.h,v 1.2.2.11 2003/11/14 11:34:28 simokawa Exp $ 414c414 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 --- > #if __FreeBSD_version < 500000 diff -r 0/src/sys/dev/firewire/firewirereg.h 1/src/sys/dev/firewire/firewirereg.h 34c34 < * $FreeBSD: src/sys/dev/firewire/firewirereg.h,v 1.1.2.20 2004/03/28 11:50:42 simokawa Exp $ --- > * $FreeBSD: src/sys/dev/firewire/firewirereg.h,v 1.1.2.19 2004/01/26 04:51:15 simokawa Exp $ 38,41c38 < #ifdef __DragonFly__ < typedef d_thread_t fw_proc; < #include < #elif __FreeBSD_version >= 500000 --- > #if __FreeBSD_version >= 500000 74c71 < #if defined(__FreeBSD__) && __FreeBSD_version >= 500000 --- > #if __FreeBSD_version >= 500000 311,313d307 < #ifdef __DragonFly__ < #define FWPRI PCATCH < #else 315d308 < #endif 317,319c310 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 < #define CALLOUT_INIT(x) callout_init(x) < #else --- > #if __FreeBSD_version >= 500000 320a312,313 > #else > #define CALLOUT_INIT(x) callout_init(x) 323c316 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 --- > #if __FreeBSD_version < 500000 diff -r 0/src/sys/dev/firewire/fwcrom.c 1/src/sys/dev/firewire/fwcrom.c 35d34 < #ifdef __FreeBSD__ 37,38c36 < __FBSDID("$FreeBSD: src/sys/dev/firewire/fwcrom.c,v 1.2.2.5 2004/03/28 11:50:42 simokawa Exp $"); < #endif --- > __FBSDID("$FreeBSD: src/sys/dev/firewire/fwcrom.c,v 1.2.2.4 2003/11/14 11:34:28 simokawa Exp $"); 55,59d52 < < #ifdef __DragonFly__ < #include "firewire.h" < #include "iec13213.h" < #else 62d54 < #endif 73,74c65,66 < if (hdr->info_len <= 1) { < /* minimum or invalid ROM */ --- > if (hdr->info_len == 1) { > /* minimum ROM */ 76d67 < return; 448c439 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 --- > #if __FreeBSD_version < 500000 586,590d576 < #ifdef __DragonFly__ < crom_add_simple_text(&src, &root, &text1, "DragonFly"); < crom_add_entry(&root, CSRKEY_HW, __DragonFly_cc_version); < crom_add_simple_text(&src, &root, &text2, "DragonFly-1"); < #else 594d579 < #endif diff -r 0/src/sys/dev/firewire/fwdev.c 1/src/sys/dev/firewire/fwdev.c 34c34 < * $FreeBSD: src/sys/dev/firewire/fwdev.c,v 1.2.4.16 2004/03/28 11:50:42 simokawa Exp $ --- > * $FreeBSD: src/sys/dev/firewire/fwdev.c,v 1.2.4.15 2004/01/26 04:51:15 simokawa Exp $ 42c42 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 --- > #if __FreeBSD_version < 500000 59,65d58 < #ifdef __DragonFly__ < #include "firewire.h" < #include "firewirereg.h" < #include "fwdma.h" < #include "fwmem.h" < #include "iec68113.h" < #else 71d63 < #endif 72a65 > #define CDEV_MAJOR 127 84,91c77,79 < struct cdevsw firewire_cdevsw = { < #ifdef __DragonFly__ < #define CDEV_MAJOR 127 < "fw", CDEV_MAJOR, D_MEM, NULL, 0, < fw_open, fw_close, fw_read, fw_write, fw_ioctl, < fw_poll, fw_mmap, fw_strategy, nodump, nopsize, < #elif __FreeBSD_version >= 500104 < .d_version = D_VERSION, --- > struct cdevsw firewire_cdevsw = > { > #if __FreeBSD_version >= 500104 101c89,90 < .d_flags = D_MEM | D_NEEDGIANT --- > .d_maj = CDEV_MAJOR, > .d_flags = D_MEM 103d91 < #define CDEV_MAJOR 127 191c179 < #if defined(__FreeBSD__) && __FreeBSD_version >= 500000 --- > #if __FreeBSD_version >= 500000 580c568 < (void *)xfer->send.payload, pay_len); --- > (void *)&xfer->send.payload, pay_len); 754c742 < #if defined(__DragonFly__) || __FreeBSD_version < 500102 --- > #if __FreeBSD_version < 500102 764c752 < #if defined(__DragonFly__) || __FreeBSD_version < 500102 --- > #if __FreeBSD_version < 500102 797,799c785 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 < cdevsw_add(&firewire_cdevsw); < #else --- > #if __FreeBSD_version >= 500000 813a800,801 > #else > cdevsw_add(&firewire_cdevsw); 824,826c812 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 < cdevsw_remove(&firewire_cdevsw); < #else --- > #if __FreeBSD_version >= 500000 827a814,815 > #else > cdevsw_remove(&firewire_cdevsw); 832c820 < #if defined(__FreeBSD__) && __FreeBSD_version >= 500000 --- > #if __FreeBSD_version >= 500000 diff -r 0/src/sys/dev/firewire/fwdma.c 1/src/sys/dev/firewire/fwdma.c 36d35 < #ifdef __FreeBSD__ 38,40c37 < __FBSDID("$FreeBSD: src/sys/dev/firewire/fwdma.c,v 1.1.2.4 2004/03/28 11:50:42 simokawa Exp $"); < #endif < --- > __FBSDID("$FreeBSD: src/sys/dev/firewire/fwdma.c,v 1.1.2.3 2003/11/14 11:34:28 simokawa Exp $"); 46c43 < #if defined(__FreeBSD__) && __FreeBSD_version >= 501102 --- > #if __FreeBSD_version >= 501102 54,58d50 < #ifdef __DragonFly__ < #include < #include < #include < #else 62d53 < #endif 93c84 < #if defined(__FreeBSD__) && __FreeBSD_version >= 501102 --- > #if __FreeBSD_version >= 501102 191c182 < #if defined(__FreeBSD__) && __FreeBSD_version >= 501102 --- > #if __FreeBSD_version >= 501102 202c193 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 --- > #if __FreeBSD_version < 500000 diff -r 0/src/sys/dev/firewire/fwmem.c 1/src/sys/dev/firewire/fwmem.c 36d35 < #ifdef __FreeBSD__ 38,39c37 < __FBSDID("$FreeBSD: src/sys/dev/firewire/fwmem.c,v 1.1.2.14 2004/03/28 11:50:42 simokawa Exp $"); < #endif --- > __FBSDID("$FreeBSD: src/sys/dev/firewire/fwmem.c,v 1.1.2.13 2004/01/26 04:51:15 simokawa Exp $"); 49c47 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 --- > #if __FreeBSD_version < 500000 63,67d60 < #ifdef __DragonFly__ < #include "firewire.h" < #include "firewirereg.h" < #include "fwmem.h" < #else 71d63 < #endif 297c289 < printf("%s: refcount=%d\n", __func__, fms->refcount); --- > printf("%s: refcount=%d\n", __FUNCTION__, fms->refcount); 310c302 < printf("%s: refcount=%d\n", __func__, fms->refcount); --- > printf("%s: refcount=%d\n", __FUNCTION__, fms->refcount); 330c322 < printf("%s: err=%d\n", __func__, bp->bio_error); --- > printf("%s: err=%d\n", __FUNCTION__, bp->bio_error); 400c392 < printf("%s: err=%d\n", __func__, err); --- > printf("%s: err=%d\n", __FUNCTION__, err); 433c425 < #if defined(__DragonFly__) || __FreeBSD_version < 500102 --- > #if __FreeBSD_version < 500102 diff -r 0/src/sys/dev/firewire/fwohci.c 1/src/sys/dev/firewire/fwohci.c 34c34 < * $FreeBSD: src/sys/dev/firewire/fwohci.c,v 1.1.2.27 2004/03/28 11:50:42 simokawa Exp $ --- > * $FreeBSD: src/sys/dev/firewire/fwohci.c,v 1.1.2.26 2004/01/26 04:51:15 simokawa Exp $ 57c57 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 --- > #if __FreeBSD_version < 500000 61,68d60 < #ifdef __DragonFly__ < #include "firewire.h" < #include "firewirereg.h" < #include "fwdma.h" < #include "fwohcireg.h" < #include "fwohcivar.h" < #include "firewire_phy.h" < #else 75d66 < #endif 548a540 > fw_busreset(&sc->fc); 1218c1210 < #if defined(__FreeBSD__) && __FreeBSD_version >= 501102 --- > #if __FreeBSD_version >= 501102 1826c1818,1820 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 --- > #if __FreeBSD_version >= 500000 > irstat = atomic_readandclear_int(&sc->irstat); > #else 1829,1830d1822 < #else < irstat = atomic_readandclear_int(&sc->irstat); 1850c1842,1844 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 --- > #if __FreeBSD_version >= 500000 > itstat = atomic_readandclear_int(&sc->itstat); > #else 1853,1854d1846 < #else < itstat = atomic_readandclear_int(&sc->itstat); 1940c1932 < #if 1 /* XXX needed?? */ --- > #if 1 2367,2370c2359 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 < printf("%08x %s %s %s %s %5d %08x %08x %04x:%04x", < db_tr->bus_addr, < #else --- > #if __FreeBSD_version >= 500000 2372a2362,2364 > #else > printf("%08x %s %s %s %s %5d %08x %08x %04x:%04x", > db_tr->bus_addr, diff -r 0/src/sys/dev/firewire/fwohci_pci.c 1/src/sys/dev/firewire/fwohci_pci.c 34c34 < * $FreeBSD: src/sys/dev/firewire/fwohci_pci.c,v 1.3.2.20 2004/03/28 11:50:42 simokawa Exp $ --- > * $FreeBSD: src/sys/dev/firewire/fwohci_pci.c,v 1.3.2.19 2004/01/26 04:51:15 simokawa Exp $ 48c48 < #if defined(__FreeBSD__) && __FreeBSD_version >= 501102 --- > #if __FreeBSD_version >= 501102 54c54 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 --- > #if __FreeBSD_version < 500000 58,68d57 < #ifdef __DragonFly__ < #include < #include < < #include "firewire.h" < #include "firewirereg.h" < < #include "fwdma.h" < #include "fwohcireg.h" < #include "fwohcivar.h" < #else 83d71 < #endif 110,113d97 < if (id == (FW_VENDORID_NEC | FW_DEVICE_UPD72873)) { < device_set_desc(dev, "NEC uPD72873"); < return 0; < } 199c183 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 --- > #if __FreeBSD_version < 500000 250,251c234,235 < int rid; < #if defined(__DragonFly__) || __FreeBSD_version < 500000 --- > int rid, s; > #if __FreeBSD_version < 500000 269,271d252 < #if __FreeBSD_version >= 502109 < sc->bsr = bus_alloc_resource_any(self, SYS_RES_MEMORY, &rid, RF_ACTIVE); < #else 273,274c254 < 0, ~0, 1, RF_ACTIVE); < #endif --- > 0, ~0, 1, RF_ACTIVE); 284,287d263 < #if __FreeBSD_version >= 502109 < sc->irq_res = bus_alloc_resource_any(self, SYS_RES_IRQ, &rid, < RF_SHAREABLE | RF_ACTIVE); < #else 290d265 < #endif 296a272,278 > sc->fc.bdev = device_add_child(self, "firewire", -1); > if (!sc->fc.bdev) { > device_printf(self, "Could not add firewire device\n"); > fwohci_pci_detach(self); > return ENOMEM; > } > device_set_ivars(sc->fc.bdev, sc); 305c287 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 --- > #if __FreeBSD_version < 500000 332c314 < #if defined(__FreeBSD__) && __FreeBSD_version >= 501102 --- > #if __FreeBSD_version >= 501102 351,353c333,349 < /* probe and attach a child device(firewire) */ < bus_generic_probe(self); < bus_generic_attach(self); --- > err = device_probe_and_attach(sc->fc.bdev); > > if (err) { > device_printf(self, "probe_and_attach failed with err=%d\n", > err); > fwohci_pci_detach(self); > return EIO; > } > > /* XXX > * Clear the bus reset event flag to start transactions even when > * interrupt is disabled during the boot process. > */ > DELAY(250); /* 2 cycles */ > s = splfw(); > fwohci_poll((void *)sc, 0, -1); > splx(s); 387c383 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 --- > #if __FreeBSD_version < 500000 451,486d446 < static device_t < fwohci_pci_add_child(device_t dev, int order, const char *name, int unit) < { < struct fwohci_softc *sc; < device_t child; < int s, err = 0; < < sc = (struct fwohci_softc *)device_get_softc(dev); < child = device_add_child(dev, name, unit); < if (child == NULL) < return (child); < < sc->fc.bdev = child; < device_set_ivars(child, (void *)&sc->fc); < < err = device_probe_and_attach(child); < if (err) { < device_printf(dev, "probe_and_attach failed with err=%d\n", < err); < fwohci_pci_detach(dev); < device_delete_child(dev, child); < return NULL; < } < < /* XXX < * Clear the bus reset event flag to start transactions even when < * interrupt is disabled during the boot process. < */ < DELAY(250); /* 2 cycles */ < s = splfw(); < fwohci_poll((void *)sc, 0, -1); < splx(s); < < return (child); < } < 497d456 < DEVMETHOD(bus_add_child, fwohci_pci_add_child), 511,513d469 < #ifdef FWOHCI_MODULE < MODULE_DEPEND(fwohci, firewire, 1, 1, 1); < #endif diff -r 0/src/sys/dev/firewire/fwohcireg.h 1/src/sys/dev/firewire/fwohcireg.h 34c34 < * $FreeBSD: src/sys/dev/firewire/fwohcireg.h,v 1.2.2.12 2004/03/28 11:50:42 simokawa Exp $ --- > * $FreeBSD: src/sys/dev/firewire/fwohcireg.h,v 1.2.2.11 2004/01/26 04:51:15 simokawa Exp $ 37c37 < #define PCI_CBMEM PCIR_BAR(0) --- > #define PCI_CBMEM 0x10 50d49 < #define FW_DEVICE_UPD72873 (0x00e7 << 16) diff -r 0/src/sys/dev/firewire/fwohcivar.h 1/src/sys/dev/firewire/fwohcivar.h 34c34 < * $FreeBSD: src/sys/dev/firewire/fwohcivar.h,v 1.1.2.10 2004/03/28 11:50:42 simokawa Exp $ --- > * $FreeBSD: src/sys/dev/firewire/fwohcivar.h,v 1.1.2.9 2004/01/26 04:51:15 simokawa Exp $ 38,40c38 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 < #define FWOHCI_TASKQUEUE 0 < #else --- > #if __FreeBSD_version >= 500000 41a40,41 > #else > #define FWOHCI_TASKQUEUE 0 52c52 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 --- > #if __FreeBSD_version < 500000 diff -r 0/src/sys/dev/firewire/if_fwe.c 1/src/sys/dev/firewire/if_fwe.c 34c34 < * $FreeBSD: src/sys/dev/firewire/if_fwe.c,v 1.1.2.18 2004/03/28 11:50:42 simokawa Exp $ --- > * $FreeBSD: src/sys/dev/firewire/if_fwe.c,v 1.1.2.17 2004/01/26 04:51:15 simokawa Exp $ 55,60d54 < #ifdef __DragonFly__ < #include < #include < #include < #include "if_fwevar.h" < #else 66d59 < #endif 205c198 < #if __FreeBSD_version >= 501113 || defined(__DragonFly__) --- > #if __FreeBSD_version >= 501113 220,222c213 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 < ether_ifattach(ifp, 1); < #else --- > #if __FreeBSD_version >= 500000 223a215,216 > #else > ether_ifattach(ifp, 1); 229c222 < #if defined(__FreeBSD__) && __FreeBSD_version >= 500000 --- > #if __FreeBSD_version >= 500000 289,291c282 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 < ether_ifdetach(&fwe->fwe_if, 1); < #else --- > #if __FreeBSD_version >= 500000 292a284,285 > #else > ether_ifdetach(&fwe->fwe_if, 1); 355,357c348 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 < m_getcl(M_WAIT, MT_DATA, M_PKTHDR); < #else --- > #if __FreeBSD_version >= 500000 358a350,351 > #else > m_getcl(M_WAIT, MT_DATA, M_PKTHDR); 435c428 < #if defined(__FreeBSD__) && __FreeBSD_version >= 500000 --- > #if __FreeBSD_version >= 500000 446c439 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 --- > #if __FreeBSD_version < 500000 542c535,537 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 --- > #if __FreeBSD_version >= 500000 > BPF_MTAP(ifp, m); > #else 545,546d539 < #else < BPF_MTAP(ifp, m); 585c578 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 --- > #if __FreeBSD_version < 500000 618c611 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 --- > #if __FreeBSD_version < 500000 640,642c633 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 < ether_input(ifp, eh, m); < #else --- > #if __FreeBSD_version >= 500000 643a635,636 > #else > ether_input(ifp, eh, m); 670,672d662 < #ifdef __DragonFly__ < DECLARE_DUMMY_MODULE(fwe); < #endif diff -r 0/src/sys/dev/firewire/sbp.c 1/src/sys/dev/firewire/sbp.c 34c34 < * $FreeBSD: src/sys/dev/firewire/sbp.c,v 1.5.2.27 2004/03/28 11:50:42 simokawa Exp $ --- > * $FreeBSD: src/sys/dev/firewire/sbp.c,v 1.5.2.26 2004/01/26 04:51:15 simokawa Exp $ 42d41 < #include 46c45 < #if defined(__FreeBSD__) && __FreeBSD_version >= 501102 --- > #if __FreeBSD_version >= 501102 51c50 < #if defined(__DragonFly__) || __FreeBSD_version < 500106 --- > #if __FreeBSD_version < 500106 55,69d53 < #ifdef __DragonFly__ < #include < #include < #include < #include < #include < #include < #include < < #include < #include < #include < #include < #include "sbp.h" < #else 75a60 > 77a63,64 > #include > 83d69 < #endif 130,131d115 < static int use_doorbell = 0; < static int sbp_tags = 0; 147,150d130 < SYSCTL_INT(_hw_firewire_sbp, OID_AUTO, use_doorbell, CTLFLAG_RW, < &use_doorbell, 0, "SBP use doorbell request"); < SYSCTL_INT(_hw_firewire_sbp, OID_AUTO, tags, CTLFLAG_RW, &sbp_tags, 0, < "SBP tagged queuing support"); 157,158d136 < TUNABLE_INT("hw.firewire.sbp.use_doorbell", &use_doorbell); < TUNABLE_INT("hw.firewire.sbp.tags", &sbp_tags); 204,206d181 < #define ORB_DOORBELL_ACTIVE (1 << 4) < #define ORB_DOORBELL_NEED (1 << 5) < #define ORB_SHORTAGE (1 << 6) 216d190 < struct sbp_ocb *last_ocb; 256d229 < static void sbp_doorbell(struct sbp_dev *); 498c471 < printf("%s: realloc failed\n", __func__); --- > printf("%s: realloc failed\n", __FUNCTION__); 534c507 < printf("%s: malloc failed\n", __func__); --- > printf("%s: malloc failed\n", __FUNCTION__); 556c529 < __func__); --- > __FUNCTION__); 698c671 < printf("%s: sec = %ld usec = %ld ticks = %d\n", __func__, --- > printf("%s: sec = %ld usec = %ld ticks = %d\n", __FUNCTION__, 1098c1071 < printf("%s\n", __func__); --- > printf("%s\n", __FUNCTION__); 1102c1075 < printf("%s: resp=%d\n", __func__, xfer->resp); --- > printf("%s: resp=%d\n", __FUNCTION__, xfer->resp); 1176c1149 < printf("%s\n", __func__); --- > printf("%s\n", __FUNCTION__); 1180c1153 < printf("%s: xfer->resp = %d\n", __func__, xfer->resp); --- > printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp); 1203c1176 < printf("%s: 0x%08x\n", __func__, (u_int32_t)ocb->bus_addr); --- > printf("%s: 0x%08x\n", __FUNCTION__, (u_int32_t)ocb->bus_addr); 1208c1181 < printf("%s: orb pointer active\n", __func__); --- > printf("%s: orb pointer active\n", __FUNCTION__); 1233a1207 > #if 0 1235c1209 < sbp_doorbell_callback(struct fw_xfer *xfer) --- > sbp_cmd_callback(struct fw_xfer *xfer) 1236a1211 > SBP_DEBUG(1) 1239,1240d1213 < < SBP_DEBUG(1) 1242c1215 < printf("sbp_doorbell_callback\n"); --- > printf("sbp_cmd_callback\n"); 1246c1219 < printf("%s: xfer->resp = %d\n", __func__, xfer->resp); --- > printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp); 1249,1253d1221 < sdev->flags &= ~ORB_DOORBELL_ACTIVE; < if ((sdev->flags & ORB_DOORBELL_NEED) != 0) { < sdev->flags &= ~ORB_DOORBELL_NEED; < sbp_doorbell(sdev); < } 1267,1271d1234 < if ((sdev->flags & ORB_DOORBELL_ACTIVE) != 0) { < sdev->flags |= ORB_DOORBELL_NEED; < return; < } < sdev->flags |= ORB_DOORBELL_ACTIVE; 1275,1276c1238,1239 < xfer->act.hand = sbp_doorbell_callback; < fp = &xfer->send.hdr; --- > xfer->act.hand = sbp_cmd_callback; > fp = (struct fw_pkt *)xfer->send.buf; 1279a1243 > #endif 1577a1542,1545 > /* enable tagged queuing */ > #if 1 > inq->flags |= SID_CmdQue; > #endif 1589,1597d1556 < /* < * Force to enable/disable tagged queuing. < * XXX CAM also checks SCP_QUEUE_DQUE flag in the control mode page. < */ < if (sbp_tags > 0) < inq->flags |= SID_CmdQue; < else if (sbp_tags < 0) < inq->flags &= ~SID_CmdQue; < 1673,1675c1632 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 < printf("No ocb(%lx) on the queue\n", < #else --- > #if __FreeBSD_version >= 500000 1676a1634,1635 > #else > printf("No ocb(%lx) on the queue\n", 1701,1703c1660 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 < " len:%x stat:%x orb:%x%08lx\n", < #else --- > #if __FreeBSD_version >= 500000 1704a1662,1663 > #else > " len:%x stat:%x orb:%x%08lx\n", 1855,1856c1814 < if (!use_doorbell) < sbp_free_ocb(sdev, ocb); --- > sbp_free_ocb(sdev, ocb); 1938c1896 < #if defined(__FreeBSD__) && __FreeBSD_version >= 501102 --- > #if __FreeBSD_version >= 501102 2385,2388d2342 < if (sdev->freeze == 0) { < xpt_freeze_devq(sdev->path, 1); < sdev->freeze ++; < } 2443c2397 < #if defined(__DragonFly__) || __FreeBSD_version < 501100 --- > #if __FreeBSD_version < 501100 2458,2460c2412 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 < "Volume size = %d\n", < #else --- > #if __FreeBSD_version >= 500000 2461a2414,2415 > #else > "Volume size = %d\n", 2466c2420 < #if defined(__FreeBSD__) && __FreeBSD_version >= 500000 --- > #if __FreeBSD_version >= 500000 2472c2426 < #if defined(__DragonFly__) || __FreeBSD_version < 501100 --- > #if __FreeBSD_version < 501100 2588,2590c2542 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 < printf(", %x:%d", segments[i].ds_addr, segments[i].ds_len); < #else --- > #if __FreeBSD_version >= 500000 2592a2545,2546 > #else > printf(", %x:%d", segments[i].ds_addr, segments[i].ds_len); 2612,2614c2566 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 < "segment length(%d) is less than 16." < #else --- > #if __FreeBSD_version >= 500000 2615a2568,2569 > #else > "segment length(%d) is less than 16." 2633,2644c2587,2589 < if (use_doorbell) { < if (prev == NULL) { < if (ocb->sdev->last_ocb != NULL) < sbp_doorbell(ocb->sdev); < else < sbp_orb_pointer(ocb->sdev, ocb); < } < } else { < if (prev == NULL || (ocb->sdev->flags & ORB_LINK_DEAD) != 0) { < ocb->sdev->flags &= ~ORB_LINK_DEAD; < sbp_orb_pointer(ocb->sdev, ocb); < } --- > if (prev == NULL || (ocb->sdev->flags & ORB_LINK_DEAD) != 0) { > ocb->sdev->flags &= ~ORB_LINK_DEAD; > sbp_orb_pointer(ocb->sdev, ocb); 2672,2674c2617 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 < printf("%s: 0x%08lx src %d\n", < #else --- > #if __FreeBSD_version >= 500000 2675a2619,2620 > #else > printf("%s: 0x%08lx src %d\n", 2677c2622 < __func__, ntohl(sbp_status->orb_lo), sbp_status->src); --- > __FUNCTION__, ntohl(sbp_status->orb_lo), sbp_status->src); 2697,2708c2642,2651 < if (!use_doorbell) { < if (sbp_status->src == SRC_NO_NEXT) { < if (next != NULL) < sbp_orb_pointer(sdev, next); < else if (order > 0) { < /* < * Unordered execution < * We need to send pointer for < * next ORB < */ < sdev->flags |= ORB_LINK_DEAD; < } --- > if (sbp_status->src == SRC_NO_NEXT) { > if (next != NULL) > sbp_orb_pointer(sdev, next); > else if (order > 0) { > /* > * Unordered execution > * We need to send pointer for > * next ORB > */ > sdev->flags |= ORB_LINK_DEAD; 2710,2720d2652 < } else { < /* < * XXX this is not correct for unordered < * execution. < */ < if (sdev->last_ocb != NULL) < sbp_free_ocb(sdev, sdev->last_ocb); < sdev->last_ocb = ocb; < if (next != NULL && < sbp_status->src == SRC_NO_NEXT) < sbp_doorbell(sdev); 2740c2672 < struct sbp_ocb *prev, *prev2; --- > struct sbp_ocb *prev; 2744,2745c2676,2677 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 < printf("%s: 0x%08x\n", __func__, ocb->bus_addr); --- > #if __FreeBSD_version >= 500000 > printf("%s: 0x%08jx\n", __FUNCTION__, (uintmax_t)ocb->bus_addr); 2747c2679 < printf("%s: 0x%08jx\n", __func__, (uintmax_t)ocb->bus_addr); --- > printf("%s: 0x%08x\n", __FUNCTION__, ocb->bus_addr); 2750c2682 < prev2 = prev = STAILQ_LAST(&sdev->ocbs, sbp_ocb, ocb); --- > prev = STAILQ_LAST(&sdev->ocbs, sbp_ocb, ocb); 2757,2760c2689 < if (use_doorbell && prev == NULL) < prev2 = sdev->last_ocb; < < if (prev2 != NULL) { --- > if (prev != NULL) { 2762,2765c2691 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 < printf("linking chain 0x%x -> 0x%x\n", < prev2->bus_addr, ocb->bus_addr); < #else --- > #if __FreeBSD_version >= 500000 2767c2693,2696 < (uintmax_t)prev2->bus_addr, (uintmax_t)ocb->bus_addr); --- > (uintmax_t)prev->bus_addr, (uintmax_t)ocb->bus_addr); > #else > printf("linking chain 0x%x -> 0x%x\n", > prev->bus_addr, ocb->bus_addr); 2770,2771c2699,2700 < prev2->orb[1] = htonl(ocb->bus_addr); < prev2->orb[0] = 0; --- > prev->orb[1] = htonl(ocb->bus_addr); > prev->orb[0] = 0; 2785d2713 < sdev->flags |= ORB_SHORTAGE; 2801,2808d2728 < if ((sdev->flags & ORB_SHORTAGE) != 0) { < int count; < < sdev->flags &= ~ORB_SHORTAGE; < count = sdev->freeze; < sdev->freeze = 0; < xpt_release_devq(sdev->path, count, TRUE); < } 2819,2821c2739 < #if defined(__DragonFly__) || __FreeBSD_version < 500000 < printf("sbp_abort_ocb 0x%x\n", ocb->bus_addr); < #else --- > #if __FreeBSD_version >= 500000 2822a2741,2742 > #else > printf("sbp_abort_ocb 0x%x\n", ocb->bus_addr); 2859,2862d2778 < if (sdev->last_ocb != NULL) { < sbp_free_ocb(sdev, sdev->last_ocb); < sdev->last_ocb = NULL; < } 2885,2887d2800 < #ifdef __DragonFly__ < DECLARE_DUMMY_MODULE(sbp); < #endif diff -r 0/src/sys/dev/firewire/sbp_targ.c 1/src/sys/dev/firewire/sbp_targ.c 34c34 < * $FreeBSD: src/sys/dev/firewire/sbp_targ.c,v 1.2.2.4 2004/03/28 11:50:43 simokawa Exp $ --- > * $FreeBSD: src/sys/dev/firewire/sbp_targ.c,v 1.2.2.3 2004/01/26 04:51:15 simokawa Exp $ 245c245 < printf("%s: login = NULL\n", __func__); --- > printf("%s: login = NULL\n", __FUNCTION__); 267c267 < printf("%s: login_id=%d expired\n", __func__, login->id); --- > printf("%s: login_id=%d expired\n", __FUNCTION__, login->id); 270c270 < printf("%s: login_id=%d not hold\n", __func__, login->id); --- > printf("%s: login_id=%d not hold\n", __FUNCTION__, login->id); 295c295 < printf("%s: already freezed\n", __func__); --- > printf("%s: already freezed\n", __FUNCTION__); 483c483 < printf("%s: not implemented yet\n", __func__); --- > printf("%s: not implemented yet\n", __FUNCTION__); 515c515 < printf("%s: no such login\n", __func__); --- > printf("%s: no such login\n", __FUNCTION__); 521c521 < printf("%s: orb not found tag_id=0x%08x\n", __func__, tag_id); --- > printf("%s: orb not found tag_id=0x%08x\n", __FUNCTION__, tag_id); 533c533 < printf("%s: status=%d\n", __func__, orbi->state); --- > printf("%s: status=%d\n", __FUNCTION__, orbi->state); 558c558 < printf("%s: xfer->resp = %d\n", __func__, xfer->resp); --- > printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp); 580c580 < printf("%s: xfer == NULL\n", __func__); --- > printf("%s: xfer == NULL\n", __FUNCTION__); 600c600 < printf("%s: STATUS_OK\n", __func__); --- > printf("%s: STATUS_OK\n", __FUNCTION__); 611c611 < printf("%s: STATUS %d\n", __func__, --- > printf("%s: STATUS %d\n", __FUNCTION__, 652c652 < printf("%s: unknown scsi status 0x%x\n", __func__, --- > printf("%s: unknown scsi status 0x%x\n", __FUNCTION__, 672c672 < printf("%s: resp=%d refcount=%d\n", __func__, --- > printf("%s: resp=%d refcount=%d\n", __FUNCTION__, 676c676 < printf("%s: xfer->resp = %d\n", __func__, xfer->resp); --- > printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp); 689c689 < printf("%s: orbi aborted\n", __func__); --- > printf("%s: orbi aborted\n", __FUNCTION__); 759c759 < printf("%s: not found\n", __func__); --- > printf("%s: not found\n", __FUNCTION__); 773c773 < printf("%s: offset=%d size=%d\n", __func__, offset, size); --- > printf("%s: offset=%d size=%d\n", __FUNCTION__, offset, size); 793c793 < printf("%s: xfer == NULL", __func__); --- > printf("%s: xfer == NULL", __FUNCTION__); 813c813 < printf("%s: orbi aborted\n", __func__); --- > printf("%s: orbi aborted\n", __FUNCTION__); 821c821 < printf("%s: xfer->resp = %d\n", __func__, xfer->resp); --- > printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp); 837c837 < printf("%s: dxfer_len=%d\n", __func__, res); --- > printf("%s: dxfer_len=%d\n", __FUNCTION__, res); 855c855 < printf("%s: refcount == 0\n", __func__); --- > printf("%s: refcount == 0\n", __FUNCTION__); 858c858 < printf("%s: page table is too small(%d)\n", __func__, res); --- > printf("%s: page table is too small(%d)\n", __FUNCTION__, res); 871c871 < __func__, orbi->orb4.data_size); --- > __FUNCTION__, orbi->orb4.data_size); 904c904 < printf("%s: XPT_CONT_TARGET_IO\n", __func__); --- > printf("%s: XPT_CONT_TARGET_IO\n", __FUNCTION__); 921c921 < printf("%s: ctio aborted\n", __func__); --- > printf("%s: ctio aborted\n", __FUNCTION__); 937c937 < printf("%s: direction mismatch\n", __func__); --- > printf("%s: direction mismatch\n", __FUNCTION__); 943c943 < __func__); --- > __FUNCTION__); 946c946 < __func__, orbi->orb4.page_size); --- > __FUNCTION__, orbi->orb4.page_size); 959c959 < __func__, orbi->orb4.data_size, --- > __FUNCTION__, orbi->orb4.data_size, 989c989 < printf("%s: new atio arrived\n", __func__); --- > printf("%s: new atio arrived\n", __FUNCTION__); 1057c1057 < __func__, accb->ccb_h.func_code); --- > __FUNCTION__, accb->ccb_h.func_code); 1066c1066 < __func__, ccb->ccb_h.func_code); --- > __FUNCTION__, ccb->ccb_h.func_code); 1104c1104 < printf("%s: xfer->resp = %d\n", __func__, xfer->resp); --- > printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp); 1119c1119 < printf("%s: aborted\n", __func__); --- > printf("%s: aborted\n", __FUNCTION__); 1134c1134 < printf("%s: rq_fmt(%d) != 0\n", __func__, orb4->rq_fmt); --- > printf("%s: rq_fmt(%d) != 0\n", __FUNCTION__, orb4->rq_fmt); 1149c1149 < __func__, --- > __FUNCTION__, 1181c1181 < printf("%s: fetch next orb\n", __func__); --- > printf("%s: fetch next orb\n", __FUNCTION__); 1217c1217 < printf("%s: increase MAX_LOGIN\n", __func__); --- > printf("%s: increase MAX_LOGIN\n", __FUNCTION__); 1225c1225 < printf("%s: malloc failed\n", __func__); --- > printf("%s: malloc failed\n", __FUNCTION__); 1253c1253 < printf("%s: xfer->resp = %d\n", __func__, xfer->resp); --- > printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp); 1274c1274 < printf("%s: %s\n", __func__, orb_fun_name[orb4->fun]); --- > printf("%s: %s\n", __FUNCTION__, orb_fun_name[orb4->fun]); 1305c1305 < __func__); --- > __FUNCTION__); 1333c1333 < __func__, login->id); --- > __FUNCTION__, login->id); 1338c1338 < __func__, orb4->id); --- > __FUNCTION__, orb4->id); 1344c1344 < printf("%s: wrong initiator\n", __func__); --- > printf("%s: wrong initiator\n", __FUNCTION__); 1351c1351 < __func__, orb_fun_name[orb4->fun]); --- > __FUNCTION__, orb_fun_name[orb4->fun]); 1368c1368 < printf("%s: xfer->resp = %d\n", __func__, xfer->resp); --- > printf("%s: xfer->resp = %d\n", __FUNCTION__, xfer->resp); 1375c1375 < printf("%s: invalid pointer\n", __func__); --- > printf("%s: invalid pointer\n", __FUNCTION__); 1394c1394 < printf("%s: fetch orb %04x:%08x\n", __func__, orb_hi, orb_lo); --- > printf("%s: fetch orb %04x:%08x\n", __FUNCTION__, orb_hi, orb_lo); 1397c1397 < printf("%s: malloc failed\n", __func__); --- > printf("%s: malloc failed\n", __FUNCTION__); 1423c1423 < printf("%s: no free atio\n", __func__); --- > printf("%s: no free atio\n", __FUNCTION__); 1446c1446 < printf("%s: invalid mode %d\n", __func__, mode); --- > printf("%s: invalid mode %d\n", __FUNCTION__, mode); 1457c1457 < printf("%s: xfer=%p\n", __func__, xfer); --- > printf("%s: xfer=%p\n", __FUNCTION__, xfer); 1491c1491 < printf("%s: ORB_POINTER\n", __func__); --- > printf("%s: ORB_POINTER\n", __FUNCTION__); 1504c1504 < printf("%s: AGENT RESET\n", __func__); --- > printf("%s: AGENT RESET\n", __FUNCTION__); 1511c1511 < printf("%s: DOORBELL\n", __func__); --- > printf("%s: DOORBELL\n", __FUNCTION__); 1515c1515 < __func__); --- > __FUNCTION__); 1528c1528 < printf("%s: AGENT_STATE (ignore)\n", __func__); --- > printf("%s: AGENT_STATE (ignore)\n", __FUNCTION__); 1531c1531 < printf("%s: UNSOLICITED_STATE_ENABLE (ignore)\n", __func__); --- > printf("%s: UNSOLICITED_STATE_ENABLE (ignore)\n", __FUNCTION__); 1534c1534 < printf("%s: invalid register %d\n", __func__, reg); --- > printf("%s: invalid register %d\n", __FUNCTION__, reg); 1551c1551 < printf("%s: tcode = %d\n", __func__, fp->mode.wreqb.tcode); --- > printf("%s: tcode = %d\n", __FUNCTION__, fp->mode.wreqb.tcode); 1579c1579 < __func__, fp->mode.wreqb.src & 0x3f); --- > __FUNCTION__, fp->mode.wreqb.src & 0x3f); 1594c1594 < printf("%s: rtcode = %d\n", __func__, rtcode); --- > printf("%s: rtcode = %d\n", __FUNCTION__, rtcode); --------------080506090601020704090003 Content-Type: text/plain; name="d1" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="d1" Files 0/src/sys/dev/firewire/firewire.c and 1/src/sys/dev/firewire/firewire.c differ Files 0/src/sys/dev/firewire/firewire.h and 1/src/sys/dev/firewire/firewire.h differ Files 0/src/sys/dev/firewire/firewirereg.h and 1/src/sys/dev/firewire/firewirereg.h differ Files 0/src/sys/dev/firewire/fwcrom.c and 1/src/sys/dev/firewire/fwcrom.c differ Files 0/src/sys/dev/firewire/fwdev.c and 1/src/sys/dev/firewire/fwdev.c differ Files 0/src/sys/dev/firewire/fwdma.c and 1/src/sys/dev/firewire/fwdma.c differ Files 0/src/sys/dev/firewire/fwmem.c and 1/src/sys/dev/firewire/fwmem.c differ Files 0/src/sys/dev/firewire/fwohci.c and 1/src/sys/dev/firewire/fwohci.c differ Files 0/src/sys/dev/firewire/fwohci_pci.c and 1/src/sys/dev/firewire/fwohci_pci.c differ Files 0/src/sys/dev/firewire/fwohcireg.h and 1/src/sys/dev/firewire/fwohcireg.h differ Files 0/src/sys/dev/firewire/fwohcivar.h and 1/src/sys/dev/firewire/fwohcivar.h differ Files 0/src/sys/dev/firewire/if_fwe.c and 1/src/sys/dev/firewire/if_fwe.c differ Files 0/src/sys/dev/firewire/sbp.c and 1/src/sys/dev/firewire/sbp.c differ Files 0/src/sys/dev/firewire/sbp_targ.c and 1/src/sys/dev/firewire/sbp_targ.c differ --------------080506090601020704090003-- From owner-freebsd-firewire@FreeBSD.ORG Sun Sep 5 21:55:02 2004 Return-Path: Delivered-To: freebsd-firewire@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5CFC616A4CE for ; Sun, 5 Sep 2004 21:55:02 +0000 (GMT) Received: from tora.nunu.org (YahooBB219003182029.bbtec.net [219.3.182.29]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1767843D1D for ; Sun, 5 Sep 2004 21:55:01 +0000 (GMT) (envelope-from simokawa@sat.t.u-tokyo.ac.jp) Received: from tora.nunu.org (unknown [192.168.1.2]) by tora.nunu.org (Postfix) with ESMTP id 15F774DC62; Mon, 6 Sep 2004 06:56:51 +0900 (JST) Date: Mon, 06 Sep 2004 06:56:50 +0900 Message-ID: <878ybo9y71.wl@tora.nunu.org> From: Hidetoshi Shimokawa To: Brandon Fosdick In-Reply-To: <413B7A61.1080704@terrandev.com> References: <413B7A61.1080704@terrandev.com> User-Agent: Wanderlust/2.10.1 (Watching The Wheels) SEMI/1.14.5 (Awara-Onsen) FLIM/1.14.5 (Demachiyanagi) APEL/10.6 MULE XEmacs/21.4 (patch 14) (Reasonable Discussion) (i386--freebsd) MIME-Version: 1.0 (generated by SEMI 1.14.5 - "Awara-Onsen") Content-Type: text/plain; charset=US-ASCII cc: freebsd-firewire@freebsd.org Subject: Re: Firewire related boot hang on Asus A7N8X Deluxe Boards X-BeenThere: freebsd-firewire@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Firewire support in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Sep 2004 21:55:02 -0000 Thanks for the report. I have changed the responsible record of the PR to me. I need some help to analyze the problem. Can you get a traceback of the hanging host? (break to DDB and use trace command) /\ Hidetoshi Shimokawa \/ simokawa@sat.t.u-tokyo.ac.jp PGP public key: http://www.sat.t.u-tokyo.ac.jp/~simokawa/pgp.html At Sun, 05 Sep 2004 13:43:13 -0700, Brandon Fosdick wrote: > > [1 ] > Since March 2004 myself and several others have experienced boot hangs > on Asus A7N8X motherboards. We didn't notice the problem until we tried > to upgrade to 4.10. A full description of the problem can be found in > PRi386/69218 which is at > http://www.freebsd.org/cgi/query-pr.cgi?pr=i386/69218. From owner-freebsd-firewire@FreeBSD.ORG Mon Sep 6 19:56:13 2004 Return-Path: Delivered-To: freebsd-firewire@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A3CD116A4CE for ; Mon, 6 Sep 2004 19:56:13 +0000 (GMT) Received: from sccrmhc13.comcast.net (sccrmhc13.comcast.net [204.127.202.64]) by mx1.FreeBSD.org (Postfix) with ESMTP id 52D1E43D5D for ; Mon, 6 Sep 2004 19:56:13 +0000 (GMT) (envelope-from bfoz@terrandev.com) Received: from [192.168.0.5] (c-24-6-89-159.client.comcast.net[24.6.89.159]) by comcast.net (sccrmhc13) with ESMTP id <2004090619561101600n5mr9e> (Authid: bfoz); Mon, 6 Sep 2004 19:56:12 +0000 Message-ID: <413CC0D9.1040700@terrandev.com> Date: Mon, 06 Sep 2004 12:56:09 -0700 From: Brandon Fosdick User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.2) Gecko/20040822 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Hidetoshi Shimokawa References: <413B7A61.1080704@terrandev.com> <878ybo9y71.wl@tora.nunu.org> In-Reply-To: <878ybo9y71.wl@tora.nunu.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit cc: freebsd-firewire@freebsd.org Subject: Re: Firewire related boot hang on Asus A7N8X Deluxe Boards X-BeenThere: freebsd-firewire@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Firewire support in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Sep 2004 19:56:13 -0000 Hidetoshi Shimokawa wrote: > Thanks for the report. > I have changed the responsible record of the PR to me. > > I need some help to analyze the problem. Can you get a traceback of > the hanging host? (break to DDB and use trace command) This was my first attempt at getting a trace from a kernel, hopefully its what you wanted. Let me know if you need anything else. BTW, I found that if I type continue after trace it will proceed to boot normally, even though there wasn't a firewire device plugged in. ad0: 117246MB [238216/16/63] at ata0-master UDMA133 acd0: DVD-ROM at ata1-master PIO4 acd1: CDROM at ata1-slave PIO4 Debugger("manual escape to debugger") Stopped at Debugger+0x34: movb $0,in_Debugger.435 db> trace Debugger(c02e4f09) at Debugger+0x34 scgetc(c26b2800,2,0,c0344be0,ffffffff) at scgetc+0x406 sckbdevent(c0344be0,0,c26b2800,0,0) at sckbdevent+0x1c9 atkbd_intr(c0344be0,0,c02f41d8,c028b47f,c0344be0) at atkbd_intr+0x22 atkbd_isa_intr(c0344be0,0,10,10,10) at atkbd_isa_intr+0x18 Xresume1() at Xresume1+0x2b --- interrupt, eip = 0xc02908ea, esp = 0xc02f41d0, ebp = 0xc02f41d8 --- cpu_idle(7,681,1,383fbff,0) at cpu_idle+0xe idle_loop() at idle_loop+0x1d db> -- Brandon Fosdick http://www.terranspace.org From owner-freebsd-firewire@FreeBSD.ORG Mon Sep 6 20:55:46 2004 Return-Path: Delivered-To: freebsd-firewire@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B4F0016A4DB for ; Mon, 6 Sep 2004 20:55:46 +0000 (GMT) Received: from tora.nunu.org (YahooBB219003182029.bbtec.net [219.3.182.29]) by mx1.FreeBSD.org (Postfix) with ESMTP id E25AB43D49 for ; Mon, 6 Sep 2004 20:55:31 +0000 (GMT) (envelope-from simokawa@sat.t.u-tokyo.ac.jp) Received: from maru4.nunu.org (unknown [192.168.1.25]) by tora.nunu.org (Postfix) with ESMTP id AAA5F4DD90; Tue, 7 Sep 2004 05:57:17 +0900 (JST) Date: Tue, 07 Sep 2004 05:54:24 +0900 Message-ID: <86d60zxgn3.wl@maru4.nunu.org> From: Hidetoshi Shimokawa To: Brandon Fosdick In-Reply-To: <413CC0D9.1040700@terrandev.com> References: <413B7A61.1080704@terrandev.com> <878ybo9y71.wl@tora.nunu.org> <413CC0D9.1040700@terrandev.com> User-Agent: Wanderlust/2.10.1 (Watching The Wheels) SEMI/1.14.6 (Maruoka) FLIM/1.14.6 (Marutamachi) APEL/10.6 Emacs/21.3.50 (i386-unknown-freebsd4.10) MULE/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII cc: freebsd-firewire@freebsd.org Subject: Re: Firewire related boot hang on Asus A7N8X Deluxe Boards X-BeenThere: freebsd-firewire@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Firewire support in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Sep 2004 20:55:47 -0000 Thanks for the information. I suspect some bad interaction in the CAM layer. I suppose you use atapi-cam, what happens if you remove atapi-cam from your kernel configuration? /\ Hidetoshi Shimokawa \/ simokawa@sat.t.u-tokyo.ac.jp PGP public key: http://www.sat.t.u-tokyo.ac.jp/~simokawa/pgp.html From owner-freebsd-firewire@FreeBSD.ORG Mon Sep 6 22:28:05 2004 Return-Path: Delivered-To: freebsd-firewire@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6E1BF16A4CE for ; Mon, 6 Sep 2004 22:28:05 +0000 (GMT) Received: from sccrmhc11.comcast.net (sccrmhc11.comcast.net [204.127.202.55]) by mx1.FreeBSD.org (Postfix) with ESMTP id DBF7743D46 for ; Mon, 6 Sep 2004 22:28:04 +0000 (GMT) (envelope-from bfoz@terrandev.com) Received: from [192.168.0.5] (c-24-6-89-159.client.comcast.net[24.6.89.159]) by comcast.net (sccrmhc11) with ESMTP id <200409062228020110068spde> (Authid: bfoz); Mon, 6 Sep 2004 22:28:03 +0000 Message-ID: <413CE471.8050405@terrandev.com> Date: Mon, 06 Sep 2004 15:28:01 -0700 From: Brandon Fosdick User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.2) Gecko/20040822 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Hidetoshi Shimokawa References: <413B7A61.1080704@terrandev.com> <878ybo9y71.wl@tora.nunu.org> <413CC0D9.1040700@terrandev.com> <86d60zxgn3.wl@maru4.nunu.org> In-Reply-To: <86d60zxgn3.wl@maru4.nunu.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit cc: freebsd-firewire@freebsd.org Subject: Re: Firewire related boot hang on Asus A7N8X Deluxe Boards X-BeenThere: freebsd-firewire@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Firewire support in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Sep 2004 22:28:05 -0000 Hidetoshi Shimokawa wrote: > Thanks for the information. > > I suspect some bad interaction in the CAM layer. > I suppose you use atapi-cam, what happens if you remove atapi-cam > from your kernel configuration? I don't think so. My kernel config: # # GENERIC -- Generic kernel configuration file for FreeBSD/i386 # # For more information on this file, please read the handbook section on # Kernel Configuration Files: # # http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html # # The handbook is also available locally in /usr/share/doc/handbook # if you've installed the doc distribution, otherwise always see the # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the # latest information. # # An exhaustive list of options and more detailed explanations of the # device lines is also present in the ./LINT configuration file. If you are # in doubt as to the purpose or necessity of a line, check first in LINT. # # $FreeBSD: src/sys/i386/conf/GENERIC,v 1.246.2.61 2004/06/22 20:57:55 tackerman Exp $ machine i386 #cpu I386_CPU #cpu I486_CPU #cpu I586_CPU cpu I686_CPU ident POSEIDON maxusers 0 #makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols options DDB options MATH_EMULATE #Support for x87 emulation options INET #InterNETworking #options INET6 #IPv6 communications protocols options FFS #Berkeley Fast Filesystem options FFS_ROOT #FFS usable as root device [keep this!] options SOFTUPDATES #Enable FFS soft updates support options UFS_DIRHASH #Improve performance on big directories options MFS #Memory Filesystem #options MD_ROOT #MD is a potential root device options NFS #Network Filesystem #options NFS_ROOT #NFS usable as root device, NFS required options MSDOSFS #MSDOS Filesystem options CD9660 #ISO 9660 Filesystem #options CD9660_ROOT #CD-ROM usable as root, CD9660 required options PROCFS #Process filesystem options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!] options SCSI_DELAY=15000 #Delay (in ms) before probing SCSI options UCONSOLE #Allow users to grab the console options USERCONFIG #boot -c editor options VISUAL_USERCONFIG #visual boot -c editor options KTRACE #ktrace(1) support options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores options P1003_1B #Posix P1003_1B real-time extensions options _KPOSIX_PRIORITY_SCHEDULING options ICMP_BANDLIM #Rate limit bad replies options KBD_INSTALL_CDEV # install a CDEV entry in /dev options AHC_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~128k to driver. options AHD_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~215k to driver. options USER_LDT #For nVidia driver device pcm #Sound card # To make an SMP kernel, the next two are needed #options SMP # Symmetric MultiProcessor Kernel #options APIC_IO # Symmetric (APIC) I/O device isa device eisa device pci # Floppy drives #device fdc0 at isa? port IO_FD1 irq 6 drq 2 #device fd0 at fdc0 drive 0 #device fd1 at fdc0 drive 1 # # If you have a Toshiba Libretto with its Y-E Data PCMCIA floppy, # don't use the above line for fdc0 but the following one: #device fdc0 # ATA and ATAPI devices device ata0 at isa? port IO_WD1 irq 14 device ata1 at isa? port IO_WD2 irq 15 device ata device atadisk # ATA disk drives device atapicd # ATAPI CDROM drives #device atapifd # ATAPI floppy drives #device atapist # ATAPI tape drives options ATA_STATIC_ID #Static device numbering # SCSI Controllers #device ahb # EISA AHA1742 family #device ahc # AHA2940 and onboard AIC7xxx devices #device ahd # AHA39320/29320 and onboard AIC79xx devices #device amd # AMD 53C974 (Tekram DC-390(T)) #device isp # Qlogic family #device mpt # LSI-Logic MPT/Fusion #device ncr # NCR/Symbios Logic #device sym # NCR/Symbios Logic (newer chipsets) #options SYM_SETUP_LP_PROBE_MAP=0x40 # Allow ncr to attach legacy NCR devices when # both sym and ncr are configured #device adv0 at isa? #device adw #device bt0 at isa? #device aha0 at isa? #device aic0 at isa? #device ncv # NCR 53C500 #device nsp # Workbit Ninja SCSI-3 #device stg # TMC 18C30/18C50 # SCSI peripherals device scbus # SCSI bus (required) device da # Direct Access (disks) #device sa # Sequential Access (tape etc) #device cd # CD #device pass # Passthrough device (direct SCSI access) # RAID controllers interfaced to the SCSI subsystem #device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID #device dpt # DPT Smartcache - See LINT for options! #device iir # Intel Integrated RAID #device mly # Mylex AcceleRAID/eXtremeRAID #device ciss # Compaq SmartRAID 5* series #device twa # 3ware 9000 series PATA/SATA RAID # RAID controllers #device aac # Adaptec FSA RAID, Dell PERC2/PERC3 #device aacp # SCSI passthrough for aac (requires CAM) #device ida # Compaq Smart RAID #device amr # AMI MegaRAID #device mlx # Mylex DAC960 family #device pst # Promise Supertrak SX6000 #device twe # 3ware Escalade # atkbdc0 controls both the keyboard and the PS/2 mouse device atkbdc0 at isa? port IO_KBD device atkbd0 at atkbdc? irq 1 flags 0x1 device psm0 at atkbdc? irq 12 device vga0 at isa? # splash screen/screen saver pseudo-device splash # syscons is the default console driver, resembling an SCO console device sc0 at isa? flags 0x100 # Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver #device vt0 at isa? #options XSERVER # support for X server on a vt console #options FAT_CURSOR # start with block cursor # If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines #options PCVT_SCANSET=2 # IBM keyboards are non-std device agp # support several AGP chipsets # Floating point support - do not disable. device npx0 at nexus? port IO_NPX irq 13 # Power management support (see LINT for more options) device apm0 at nexus? flags 0x20 # Advanced Power Management # PCCARD (PCMCIA) support #device card #device pcic0 at isa? irq 0 port 0x3e0 iomem 0xd0000 #device pcic1 at isa? irq 0 port 0x3e2 iomem 0xd4000 disable # Serial (COM) ports device sio0 at isa? port IO_COM1 flags 0x10 irq 4 device sio1 at isa? port IO_COM2 irq 3 #device sio2 at isa? disable port IO_COM3 irq 5 #device sio3 at isa? disable port IO_COM4 irq 9 # Parallel port device ppc0 at isa? irq 7 device ppbus # Parallel port bus (required) device lpt # Printer device plip # TCP/IP over parallel device ppi # Parallel port interface device #device vpo # Requires scbus and da # PCI Ethernet NICs. #device de # DEC/Intel DC21x4x (``Tulip'') #device em # Intel PRO/1000 adapter Gigabit Ethernet Card (``Wiseman'') #device txp # 3Com 3cR990 (``Typhoon'') #device vx # 3Com 3c590, 3c595 (``Vortex'') # PCI Ethernet NICs that use the common MII bus controller code. # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs! device miibus # MII bus support #device dc # DEC/Intel 21143 and various workalikes #device fxp # Intel EtherExpress PRO/100B (82557, 82558) #device pcn # AMD Am79C97x PCI 10/100 NICs #device rl # RealTek 8129/8139 #device sf # Adaptec AIC-6915 (``Starfire'') #device sis # Silicon Integrated Systems SiS 900/SiS 7016 #device ste # Sundance ST201 (D-Link DFE-550TX) #device tl # Texas Instruments ThunderLAN #device tx # SMC EtherPower II (83c170 ``EPIC'') #device vr # VIA Rhine, Rhine II #device wb # Winbond W89C840F device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') #device bge # Broadcom BCM570x (``Tigon III'') # ISA Ethernet NICs. # 'device ed' requires 'device miibus' #device ed0 at isa? disable port 0x280 irq 10 iomem 0xd8000 #device ex #device ep #device fe0 at isa? disable port 0x300 # Xircom Ethernet #device xe # PRISM I IEEE 802.11b wireless NIC. #device awi # WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really # exists only as a PCMCIA device, so there is no ISA attachment needed # and resources will always be dynamically assigned by the pccard code. #device wi # Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will # work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP # mode (the factory default). If you set the switches on your ISA # card for a manually chosen I/O address and IRQ, you must specify # those parameters here. #device an # The probe order of these is presently determined by i386/isa/isa_compat.c. #device ie0 at isa? disable port 0x300 irq 10 iomem 0xd0000 #device le0 at isa? disable port 0x300 irq 5 iomem 0xd0000 #device lnc0 at isa? disable port 0x280 irq 10 drq 0 #device cs0 at isa? disable port 0x300 #device sn0 at isa? disable port 0x300 irq 10 # Pseudo devices - the number indicates how many units to allocate. pseudo-device loop # Network loopback pseudo-device ether # Ethernet support #pseudo-device sl 1 # Kernel SLIP #pseudo-device ppp 1 # Kernel PPP pseudo-device tun # Packet tunnel. pseudo-device pty # Pseudo-ttys (telnet etc) pseudo-device md # Memory "disks" #pseudo-device gif # IPv6 and IPv4 tunneling #pseudo-device faith 1 # IPv6-to-IPv4 relaying (translation) # The `bpf' pseudo-device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! pseudo-device bpf #Berkeley packet filter # USB support #device uhci # UHCI PCI->USB interface device ohci # OHCI PCI->USB interface device usb # USB Bus (required) device ugen # Generic device uhid # "Human Interface Devices" device ukbd # Keyboard device ulpt # Printer device umass # Disks/Mass storage - Requires scbus and da device ums # Mouse #device uscanner # Scanners #device urio # Diamond Rio MP3 Player # USB Ethernet, requires mii #device aue # ADMtek USB ethernet #device cue # CATC USB ethernet #device kue # Kawasaki LSI USB ethernet # FireWire support device firewire # FireWire bus code device sbp # SCSI over FireWire (Requires scbus and da) device fwe # Ethernet over FireWire (non-standard!) -- Brandon Fosdick http://www.terranspace.org From owner-freebsd-firewire@FreeBSD.ORG Tue Sep 7 00:16:30 2004 Return-Path: Delivered-To: freebsd-firewire@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A481C16A4CF for ; Tue, 7 Sep 2004 00:16:30 +0000 (GMT) Received: from tora.nunu.org (YahooBB219003182029.bbtec.net [219.3.182.29]) by mx1.FreeBSD.org (Postfix) with ESMTP id D72B143D54 for ; Tue, 7 Sep 2004 00:16:29 +0000 (GMT) (envelope-from simokawa@sat.t.u-tokyo.ac.jp) Received: from tora.nunu.org (unknown [192.168.1.2]) by tora.nunu.org (Postfix) with ESMTP id 46F1A4DDB6; Tue, 7 Sep 2004 09:18:16 +0900 (JST) Date: Tue, 07 Sep 2004 09:18:16 +0900 Message-ID: <87zn437wzb.wl@tora.nunu.org> From: Hidetoshi Shimokawa To: Brandon Fosdick In-Reply-To: <413CE471.8050405@terrandev.com> References: <413B7A61.1080704@terrandev.com> <878ybo9y71.wl@tora.nunu.org> <413CC0D9.1040700@terrandev.com> <86d60zxgn3.wl@maru4.nunu.org> <413CE471.8050405@terrandev.com> User-Agent: Wanderlust/2.10.1 (Watching The Wheels) SEMI/1.14.5 (Awara-Onsen) FLIM/1.14.5 (Demachiyanagi) APEL/10.6 MULE XEmacs/21.4 (patch 14) (Reasonable Discussion) (i386--freebsd) MIME-Version: 1.0 (generated by SEMI 1.14.5 - "Awara-Onsen") Content-Type: text/plain; charset=US-ASCII cc: freebsd-firewire@freebsd.org Subject: Re: Firewire related boot hang on Asus A7N8X Deluxe Boards X-BeenThere: freebsd-firewire@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Firewire support in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Sep 2004 00:16:30 -0000 At Mon, 06 Sep 2004 15:28:01 -0700, Brandon Fosdick wrote: > > Hidetoshi Shimokawa wrote: > > Thanks for the information. > > > > I suspect some bad interaction in the CAM layer. > > I suppose you use atapi-cam, what happens if you remove atapi-cam > > from your kernel configuration? > > I don't think so. My kernel config: Oops, the following output in the PR seems not to be yours. Can you send me your dmesg output? (successful case) Thanks, > Creating DISK cd0 > pass0 at ata1 bus 0 target 0 lun 0 > pass0: Removable CD-ROM SCSI-0 device > pass0: 16.000MB/s transfers > Mounting root from ufs:/dev/ad0s1a > (cd0:ata1:0:0:0): READ CD RECORDED CAPACITY. CDB: 25 0 0 0 0 0 0 0 0 0 > (cd0:ata1:0:0:0): NOT READY asc:3a,0 > (cd0:ata1:0:0:0): Medium not present > cd0 at ata1 bus 0 target 0 lun 0 > cd0: Removable CD-ROM SCSI-0 device > cd0: 16.000MB/s transfers > cd0: Attempt to query device size failed: NOT READY, Medium not present /\ Hidetoshi Shimokawa \/ simokawa@sat.t.u-tokyo.ac.jp PGP public key: http://www.sat.t.u-tokyo.ac.jp/~simokawa/pgp.html From owner-freebsd-firewire@FreeBSD.ORG Tue Sep 7 00:37:36 2004 Return-Path: Delivered-To: freebsd-firewire@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 49DBD16A4CE for ; Tue, 7 Sep 2004 00:37:36 +0000 (GMT) Received: from sccrmhc12.comcast.net (sccrmhc12.comcast.net [204.127.202.56]) by mx1.FreeBSD.org (Postfix) with ESMTP id A0AC243D45 for ; Tue, 7 Sep 2004 00:37:35 +0000 (GMT) (envelope-from bfoz@terrandev.com) Received: from [192.168.0.5] (c-24-6-89-159.client.comcast.net[24.6.89.159]) by comcast.net (sccrmhc12) with ESMTP id <20040907003733012000nbc8e> (Authid: bfoz); Tue, 7 Sep 2004 00:37:34 +0000 Message-ID: <413D02CB.1080100@terrandev.com> Date: Mon, 06 Sep 2004 17:37:31 -0700 From: Brandon Fosdick User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.2) Gecko/20040822 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Hidetoshi Shimokawa References: <413B7A61.1080704@terrandev.com> <878ybo9y71.wl@tora.nunu.org> <413CC0D9.1040700@terrandev.com> <86d60zxgn3.wl@maru4.nunu.org> <413CE471.8050405@terrandev.com> <87zn437wzb.wl@tora.nunu.org> In-Reply-To: <87zn437wzb.wl@tora.nunu.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit cc: freebsd-firewire@freebsd.org Subject: Re: Firewire related boot hang on Asus A7N8X Deluxe Boards X-BeenThere: freebsd-firewire@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Firewire support in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Sep 2004 00:37:36 -0000 Hidetoshi Shimokawa wrote: > Oops, the following output in the PR seems not to be yours. > Can you send me your dmesg output? > (successful case) Here is the dmesg output from a kernel built w/o firewire. Copyright (c) 1992-2004 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 4.10-STABLE #5: Mon Sep 6 12:05:27 PDT 2004 bfoz@poseidon.attbi.com:/usr/obj/usr/src/sys/POSEIDON Timecounter "i8254" frequency 1193182 Hz CPU: AMD Athlon(tm) XP 2000+ (1670.46-MHz 686-class CPU) Origin = "AuthenticAMD" Id = 0x681 Stepping = 1 Features=0x383fbff AMD Features=0xc0400000 real memory = 536805376 (524224K bytes) avail memory = 513372160 (501340K bytes) Preloaded elf kernel "kernel" at 0xc08a6000. Preloaded elf module "linux.ko" at 0xc08a609c. Preloaded elf module "nvidia.ko" at 0xc08a613c. Pentium Pro MTRR support enabled md0: Malloc disk Using $PIR table, 11 entries at 0xc00fdeb0 apm0: on motherboard apm0: found APM BIOS v1.2, connected at v1.2 npx0: on motherboard npx0: INT 16 interface pcib0: on motherboard pci0: on pcib0 pci0: (vendor=0x10de, dev=0x01eb) at 0.1 pci0: (vendor=0x10de, dev=0x01ee) at 0.2 pci0: (vendor=0x10de, dev=0x01ed) at 0.3 pci0: (vendor=0x10de, dev=0x01ec) at 0.4 pci0: (vendor=0x10de, dev=0x01ef) at 0.5 isab0: at device 1.0 on pci0 isa0: on isab0 pci0: (vendor=0x10de, dev=0x0064) at 1.1 irq 5 ohci0: mem 0xe6086000-0xe6086fff irq 11 at device 2.0 on pci0 usb0: OHCI version 1.0, legacy support usb0: SMM does not respond, resetting usb0: on ohci0 usb0: USB revision 1.0 uhub0: (0x10de) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 3 ports with 3 removable, self powered uhub1: Mitsumi Electric Hub in Apple Extended USB Keyboard, class 9/0, rev 1.10/3.95, addr 2 uhub1: 3 ports with 2 removable, bus powered ums0: Microsoft Microsoft IntelliMouse\M-. Explorer, rev 1.10/1.14, addr 3, iclass 3/1 ums0: 5 buttons and Z dir. ukbd0: Mitsumi Electric Apple Extended USB Keyboard, rev 1.10/3.95, addr 4, iclass 3/1 kbd1 at ukbd0 uhid0: Mitsumi Electric Apple Extended USB Keyboard, rev 1.10/3.95, addr 4, iclass 3/0 ohci1: mem 0xe6082000-0xe6082fff irq 11 at device 2.1 on pci0 usb1: OHCI version 1.0, legacy support usb1: SMM does not respond, resetting usb1: on ohci1 usb1: USB revision 1.0 uhub2: (0x10de) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub2: 3 ports with 3 removable, self powered pci0: at 2.2 irq 5 pci0: (vendor=0x10de, dev=0x006b) at 5.0 irq 5 pcm0: port 0xd400-0xd47f,0xd000-0xd0ff mem 0xe6080000-0xe6080fff irq 11 at device 6.0 on pci0 pcm0: pcib1: at device 8.0 on pci0 pci1: on pcib1 atapci0: port 0xf000-0xf00f at device 9.0 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 pcib2: at device 12.0 on pci0 pci2: on pcib2 xl0: <3Com 3c920B-EMB Integrated Fast Etherlink XL> port 0xc000-0xc07f mem 0xe5000000-0xe500007f irq 11 at device 1.0 on pci2 xl0: Ethernet address: 00:e0:18:f1:a8:8b miibus0: on xl0 ukphy0: on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto pci0: (vendor=0x10de, dev=0x006e) at 13.0 irq 11 pcib3: at device 30.0 on pci0 pci3: on pcib3 nvidia0: mem 0xd8000000-0xd807ffff,0xd0000000-0xd7ffffff,0xe2000000-0xe2ffffff irq 5 at device 0.0 on pci3 orm0: