Firewire related boot hang on Asus A7N8X Deluxe Boards
Brandon Fosdick
bfoz at terrandev.com
Sun Sep 5 13:43:17 PDT 2004
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
-------------- next part --------------
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 <sys/select.h>
< #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 <bus/firewire/firewire.h>
< #include <bus/firewire/firewirereg.h>
< #include <bus/firewire/fwdma.h>
< #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 <bus/pci/pcivar.h>
< #include <bus/pci/pcireg.h>
<
< #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 <net/vlan/if_vlan_var.h>
< #include <bus/firewire/firewire.h>
< #include <bus/firewire/firewirereg.h>
< #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 <sys/kernel.h>
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 <bus/cam/cam.h>
< #include <bus/cam/cam_ccb.h>
< #include <bus/cam/cam_sim.h>
< #include <bus/cam/cam_xpt_sim.h>
< #include <bus/cam/cam_debug.h>
< #include <bus/cam/cam_periph.h>
< #include <bus/cam/scsi/scsi_all.h>
<
< #include <bus/firewire/firewire.h>
< #include <bus/firewire/firewirereg.h>
< #include <bus/firewire/fwdma.h>
< #include <bus/firewire/iec13213.h>
< #include "sbp.h"
< #else
75a60
>
77a63,64
> #include <sys/kernel.h>
>
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);
-------------- next part --------------
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
More information about the freebsd-firewire
mailing list