In the latest RELENG_5_2: I added the following patch, with success. It worked just fine in kde, but when i installed gnome and i was loading it(i got the "loading gnome.." splashscreen) and then i got page fault. So if anyone could tell me how i can keep that patch and still be able to use gnome? And what about 5.3? I hope it doesnt have that audio lag feature when i go back or forward in mplayer or xmms or any other app. --- /sys/dev/sound/pcm/dsp.c.orig Tue Nov 11 11:38:28 2003 +++ /sys/dev/sound/pcm/dsp.c Wed Jan 21 11:51:31 2004 _at__at_ -29,7 +29,7 _at__at_ #include <dev/sound/pcm/sound.h> -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/dsp.c,v 1.67 2003/11/11 05:38:28 scottl Exp $"); +SND_DECLARE_FILE("$FreeBSD: /repoman/r/ncvs/src/sys/dev/sound/pcm/dsp.c,v 1.70 2004/01/20 05:30:09 matk Exp $"); #define OLDPCM_IOCTL _at__at_ -41,7 +41,7 _at__at_ static d_poll_t dsp_poll; static d_mmap_t dsp_mmap; -static struct cdevsw dsp_cdevsw = { +struct cdevsw dsp_cdevsw = { .d_open = dsp_open, .d_close = dsp_close, .d_read = dsp_read, _at__at_ -455,15 +455,11 _at__at_ * on dsp devices. */ - if (IOCGROUP(cmd) == 'M') { - dev_t pdev; - - pdev = makedev(SND_CDEV_MAJOR, PCMMKMINOR(PCMUNIT(i_dev), SND_DEV_CTL, 0)); - return mixer_ioctl(pdev, cmd, arg, mode, td); - } + d = dsp_get_info(i_dev); + if (IOCGROUP(cmd) == 'M') + return mixer_ioctl(d->mixer_dev, cmd, arg, mode, td); s = spltty(); - d = dsp_get_info(i_dev); getchns(i_dev, &rdch, &wrch, 0); kill = 0; _at__at_ -580,7 +576,7 _at__at_ (wrch? chn_getformats(wrch) : 0xffffffff); if (rdch && wrch) p->formats |= (dsp_get_flags(i_dev) & SD_F_SIMPLEX)? 0 : AFMT_FULLDUPLEX; - pdev = makedev(SND_CDEV_MAJOR, PCMMKMINOR(PCMUNIT(i_dev), SND_DEV_CTL, 0)); + pdev = d->mixer_dev; p->mixers = 1; /* default: one mixer */ p->inputs = pdev->si_drv1? mix_getdevs(pdev->si_drv1) : 0; p->left = p->right = 100; _at__at_ -664,10 +660,18 _at__at_ case SNDCTL_DSP_RESET: DEB(printf("dsp reset\n")); - if (wrch) + if (wrch) { + CHN_LOCK(wrch); chn_abort(wrch); - if (rdch) + chn_resetbuf(wrch); + CHN_UNLOCK(wrch); + } + if (rdch) { + CHN_LOCK(rdch); chn_abort(rdch); + chn_resetbuf(rdch); + CHN_UNLOCK(rdch); + } break; case SNDCTL_DSP_SYNC: _at__at_ -1048,60 +1052,23 _at__at_ return 0; } -int -dsp_register(int unit, int channel) -{ - make_dev(&dsp_cdevsw, PCMMKMINOR(unit, SND_DEV_DSP, channel), - UID_ROOT, GID_WHEEL, 0666, "dsp%d.%d", unit, channel); - make_dev(&dsp_cdevsw, PCMMKMINOR(unit, SND_DEV_DSP16, channel), - UID_ROOT, GID_WHEEL, 0666, "dspW%d.%d", unit, channel); - make_dev(&dsp_cdevsw, PCMMKMINOR(unit, SND_DEV_AUDIO, channel), - UID_ROOT, GID_WHEEL, 0666, "audio%d.%d", unit, channel); - - return 0; -} - -int -dsp_registerrec(int unit, int channel) -{ - make_dev(&dsp_cdevsw, PCMMKMINOR(unit, SND_DEV_DSPREC, channel), - UID_ROOT, GID_WHEEL, 0666, "dspr%d.%d", unit, channel); - - return 0; -} - -int -dsp_unregister(int unit, int channel) -{ - dev_t pdev; - - pdev = makedev(SND_CDEV_MAJOR, PCMMKMINOR(unit, SND_DEV_DSP, channel)); - destroy_dev(pdev); - pdev = makedev(SND_CDEV_MAJOR, PCMMKMINOR(unit, SND_DEV_DSP16, channel)); - destroy_dev(pdev); - pdev = makedev(SND_CDEV_MAJOR, PCMMKMINOR(unit, SND_DEV_AUDIO, channel)); - destroy_dev(pdev); - - return 0; -} - -int -dsp_unregisterrec(int unit, int channel) -{ - dev_t pdev; - - pdev = makedev(SND_CDEV_MAJOR, PCMMKMINOR(unit, SND_DEV_DSPREC, channel)); - destroy_dev(pdev); - - return 0; -} - #ifdef USING_DEVFS + +/* + * Clone logic is this: + * x E X = {dsp, dspW, audio} + * x -> x${sysctl("hw.snd.unit")} + * xN-> + * for i N = 1 to channels of device N + * if xN.i isn't busy, return its dev_t + */ static void dsp_clone(void *arg, char *name, int namelen, dev_t *dev) { dev_t pdev; - int i, cont, unit, devtype; + struct snddev_info *pcm_dev; + struct snddev_channel *pcm_chan; + int i, unit, devtype; int devtypes[3] = {SND_DEV_DSP, SND_DEV_DSP16, SND_DEV_AUDIO}; char *devnames[3] = {"dsp", "dspW", "audio"}; _at__at_ -1124,16 +1091,27 _at__at_ if (unit == -1 || unit >= devclass_get_maxunit(pcm_devclass)) return; - cont = 1; - for (i = 0; cont; i++) { - pdev = makedev(SND_CDEV_MAJOR, PCMMKMINOR(unit, devtype, i)); - if (pdev->si_flags & SI_NAMED) { - if ((pdev->si_drv1 == NULL) && (pdev->si_drv2 == NULL)) { - *dev = pdev; - return; - } - } else { - cont = 0; + pcm_dev = devclass_get_softc(pcm_devclass, unit); + + SLIST_FOREACH(pcm_chan, &pcm_dev->channels, link) { + + switch(devtype) { + case SND_DEV_DSP: + pdev = pcm_chan->dsp_devt; + break; + case SND_DEV_DSP16: + pdev = pcm_chan->dspW_devt; + break; + case SND_DEV_AUDIO: + pdev = pcm_chan->audio_devt; + break; + default: + panic("Unknown devtype %d", devtype); + } + + if ((pdev->si_drv1 == NULL) && (pdev->si_drv2 == NULL)) { + *dev = pdev; + return; } } } --- /sys/dev/sound/pcm/dsp.h.orig Sun Sep 7 23:28:03 2003 +++ /sys/dev/sound/pcm/dsp.h Wed Jan 21 12:00:40 2004 _at__at_ -23,10 +23,7 _at__at_ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/sound/pcm/dsp.h,v 1.7 2003/09/07 16:28:03 cg Exp $ + * $FreeBSD: /repoman/r/ncvs/src/sys/dev/sound/pcm/dsp.h,v 1.8 2004/01/20 03:58:57 matk Exp $ */ -int dsp_register(int unit, int channel); -int dsp_registerrec(int unit, int channel); -int dsp_unregister(int unit, int channel); -int dsp_unregisterrec(int unit, int channel); +extern struct cdevsw dsp_cdevsw; --- /sys/dev/sound/pcm/sound.h.orig Sun Sep 7 23:28:03 2003 +++ /sys/dev/sound/pcm/sound.h Wed Jan 21 12:06:35 2004 _at__at_ -24,7 +24,7 _at__at_ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/sound/pcm/sound.h,v 1.52 2003/09/07 16:28:03 cg Exp $ + * $FreeBSD: /repoman/r/ncvs/src/sys/dev/sound/pcm/sound.h,v 1.54 2004/01/20 03:58:57 matk Exp $ */ /* _at__at_ -98,7 +98,6 _at__at_ #include <dev/sound/pcm/channel.h> #include <dev/sound/pcm/feeder.h> #include <dev/sound/pcm/mixer.h> -#include <dev/sound/pcm/dsp.h> #define PCM_SOFTC_SIZE 512 _at__at_ -222,8 +221,8 _at__at_ struct pcm_channel *pcm_chn_create(struct snddev_info *d, struct pcm_channel *parent, kobj_class_t cls, int dir, void *devinfo); int pcm_chn_destroy(struct pcm_channel *ch); -int pcm_chn_add(struct snddev_info *d, struct pcm_channel *ch, int mkdev); -int pcm_chn_remove(struct snddev_info *d, struct pcm_channel *ch, int rmdev); +int pcm_chn_add(struct snddev_info *d, struct pcm_channel *ch); +int pcm_chn_remove(struct snddev_info *d, struct pcm_channel *ch); int pcm_addchan(device_t dev, int dir, kobj_class_t cls, void *devinfo); unsigned int pcm_getbuffersize(device_t dev, unsigned int min, unsigned int deflt, unsigned int max); _at__at_ -234,6 +233,7 _at__at_ void pcm_setflags(device_t dev, u_int32_t val); void *pcm_getdevinfo(device_t dev); + int snd_setup_intr(device_t dev, struct resource *res, int flags, driver_intr_t hand, void *param, void **cookiep); _at__at_ -276,12 +276,17 _at__at_ /* * this is rather kludgey- we need to duplicate these struct def'ns from sound.c * so that the macro versions of pcm_{,un}lock can dereference them. + * we also have to do this now makedev() has gone away. */ -#ifdef PCM_DEBUG_MTX struct snddev_channel { SLIST_ENTRY(snddev_channel) link; struct pcm_channel *channel; + int chan_num; + dev_t dsp_devt; + dev_t dspW_devt; + dev_t audio_devt; + dev_t dspr_devt; }; struct snddev_info { _at__at_ -297,8 +302,11 _at__at_ struct sysctl_ctx_list sysctl_tree; struct sysctl_oid *sysctl_tree_top; struct mtx *lock; + dev_t mixer_dev; + }; +#ifdef PCM_DEBUG_MTX #define pcm_lock(d) mtx_lock(((struct snddev_info *)(d))->lock) #define pcm_unlock(d) mtx_unlock(((struct snddev_info *)(d))->lock) #else --- /sys/dev/sound/pcm/sound.c.orig Sun Sep 7 23:28:03 2003 +++ /sys/dev/sound/pcm/sound.c Wed Jan 21 12:05:25 2004 _at__at_ -27,33 +27,12 _at__at_ #include <dev/sound/pcm/sound.h> #include <dev/sound/pcm/vchan.h> +#include <dev/sound/pcm/dsp.h> #include <sys/sysctl.h> #include "feeder_if.h" -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/sound.c,v 1.85 2003/09/07 16:28:03 cg Exp $"); - -#ifndef PCM_DEBUG_MTX -struct snddev_channel { - SLIST_ENTRY(snddev_channel) link; - struct pcm_channel *channel; -}; - -struct snddev_info { - SLIST_HEAD(, snddev_channel) channels; - struct pcm_channel *fakechan; - unsigned devcount, playcount, reccount, vchancount; - unsigned flags; - int inprog; - unsigned int bufsz; - void *devinfo; - device_t dev; - char status[SND_STATUSLEN]; - struct sysctl_ctx_list sysctl_tree; - struct sysctl_oid *sysctl_tree_top; - struct mtx *lock; -}; -#endif +SND_DECLARE_FILE("$FreeBSD: /repoman/r/ncvs/src/sys/dev/sound/pcm/sound.c,v 1.88 2004/01/20 03:58:57 matk Exp $"); devclass_t pcm_devclass; _at__at_ -96,7 +75,7 _at__at_ m = malloc(sizeof(*m), M_DEVBUF, M_WAITOK | M_ZERO); if (m == NULL) return NULL; - mtx_init(m, desc, type, MTX_RECURSE); + mtx_init(m, desc, type, MTX_DEF | MTX_RECURSE); return m; #else return (void *)0xcafebabe; _at__at_ -435,11 +414,20 _at__at_ } int -pcm_chn_add(struct snddev_info *d, struct pcm_channel *ch, int mkdev) +pcm_chn_add(struct snddev_info *d, struct pcm_channel *ch) { struct snddev_channel *sce, *tmp, *after; - int unit = device_get_unit(d->dev); - int x = -1; + int device = device_get_unit(d->dev); + + /* + * Note it's confusing nomenclature. + * dev_t + * device -> pcm_device + * unit -> pcm_channel + * channel -> snddev_channel + * device_t + * unit -> pcm_device + */ sce = malloc(sizeof(*sce), M_DEVBUF, M_WAITOK | M_ZERO); if (!sce) { _at__at_ -448,6 +436,7 _at__at_ snd_mtxlock(d->lock); sce->channel = ch; + sce->chan_num= d->devcount++; if (SLIST_EMPTY(&d->channels)) { SLIST_INSERT_HEAD(&d->channels, sce, link); } else { _at__at_ -457,24 +446,36 _at__at_ } SLIST_INSERT_AFTER(after, sce, link); } - if (mkdev) - x = d->devcount++; snd_mtxunlock(d->lock); - - if (mkdev) { - dsp_register(unit, x); - if (ch->direction == PCMDIR_REC) - dsp_registerrec(unit, ch->num); - } + sce->dsp_devt= make_dev(&dsp_cdevsw, + PCMMKMINOR(device, SND_DEV_DSP, sce->chan_num), + UID_ROOT, GID_WHEEL, 0666, "dsp%d.%d", + device, sce->chan_num); + + sce->dspW_devt= make_dev(&dsp_cdevsw, + PCMMKMINOR(device, SND_DEV_DSP16, sce->chan_num), + UID_ROOT, GID_WHEEL, 0666, "dspW%d.%d", + device, sce->chan_num); + + sce->audio_devt= make_dev(&dsp_cdevsw, + PCMMKMINOR(device, SND_DEV_AUDIO, sce->chan_num), + UID_ROOT, GID_WHEEL, 0666, "audio%d.%d", + device, sce->chan_num); + + if (ch->direction == PCMDIR_REC) + sce->dspr_devt = make_dev(&dsp_cdevsw, + PCMMKMINOR(device, SND_DEV_DSPREC, + sce->chan_num), UID_ROOT, GID_WHEEL, + 0666, "dspr%d.%d", device, sce->chan_num); return 0; } int -pcm_chn_remove(struct snddev_info *d, struct pcm_channel *ch, int rmdev) +pcm_chn_remove(struct snddev_info *d, struct pcm_channel *ch) { struct snddev_channel *sce; - int unit = device_get_unit(d->dev); +#if 0 int ourlock; ourlock = 0; _at__at_ -482,21 +483,19 _at__at_ snd_mtxlock(d->lock); ourlock = 1; } +#endif SLIST_FOREACH(sce, &d->channels, link) { if (sce->channel == ch) goto gotit; } +#if 0 if (ourlock) snd_mtxunlock(d->lock); +#endif return EINVAL; gotit: SLIST_REMOVE(&d->channels, sce, snddev_channel, link); - if (rmdev) { - dsp_unregister(unit, --d->devcount); - if (ch->direction == PCMDIR_REC) - dsp_unregisterrec(unit, ch->num); - } if (ch->direction == PCMDIR_REC) d->reccount--; _at__at_ -505,8 +504,10 _at__at_ else d->playcount--; +#if 0 if (ourlock) snd_mtxunlock(d->lock); +#endif free(sce, M_DEVBUF); return 0; _at__at_ -525,7 +526,7 _at__at_ return ENODEV; } - err = pcm_chn_add(d, ch, 1); + err = pcm_chn_add(d, ch); if (err) { device_printf(d->dev, "pcm_chn_add(%s) failed, err=%d\n", ch->name, err); snd_mtxunlock(d->lock); _at__at_ -554,12 +555,10 _at__at_ struct pcm_channel *ch; int error = 0; - snd_mtxlock(d->lock); sce = SLIST_FIRST(&d->channels); - snd_mtxunlock(d->lock); ch = sce->channel; - error = pcm_chn_remove(d, sce->channel, SLIST_EMPTY(&ch->children)); + error = pcm_chn_remove(d, sce->channel); if (error) return (error); return (pcm_chn_destroy(ch)); _at__at_ -652,6 +651,9 _at__at_ d->vchancount = 0; d->inprog = 0; + SLIST_INIT(&d->channels); + SLIST_INIT(&d->channels); + if (((numplay == 0) || (numrec == 0)) && (numplay != numrec)) d->flags |= SD_F_SIMPLEX; _at__at_ -700,6 +702,8 _at__at_ snd_mtxunlock(d->lock); return EBUSY; } + + SLIST_FOREACH(sce, &d->channels, link) { ch = sce->channel; if (ch->refcount > 0) { _at__at_ -708,6 +712,15 _at__at_ return EBUSY; } } + + SLIST_FOREACH(sce, &d->channels, link) { + destroy_dev(sce->dsp_devt); + destroy_dev(sce->dspW_devt); + destroy_dev(sce->audio_devt); + if (sce->dspr_devt) + destroy_dev(sce->dspr_devt); + } + if (mixer_uninit(dev)) { device_printf(dev, "unregister: mixer busy\n"); snd_mtxunlock(d->lock); _at__at_ -725,6 +738,7 _at__at_ fkchan_kill(d->fakechan); sndstat_unregister(dev); + snd_mtxunlock(d->lock); snd_mtxfree(d->lock); return 0; } _at__at_ -778,7 +792,7 _at__at_ c = sce->channel; sbuf_printf(s, "\n\t"); - /* it would be bettet to indent child channels */ + /* it would be better to indent child channels */ sbuf_printf(s, "%s[%s]: ", c->parentchannel? c->parentchannel->name : "", c->name); sbuf_printf(s, "spd %d", c->speed); if (c->speed != sndbuf_getspd(c->bufhard)) --- /sys/dev/sound/pcm/vchan.c.orig Sun Sep 7 23:28:03 2003 +++ /sys/dev/sound/pcm/vchan.c Wed Jan 21 12:07:12 2004 _at__at_ -28,7 +28,7 _at__at_ #include <dev/sound/pcm/vchan.h> #include "feeder_if.h" -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/vchan.c,v 1.13 2003/09/07 16:28:03 cg Exp $"); +SND_DECLARE_FILE("$FreeBSD: /repoman/r/ncvs/src/sys/dev/sound/pcm/vchan.c,v 1.15 2004/01/20 03:58:57 matk Exp $"); struct vchinfo { u_int32_t spd, fmt, blksz, bps, run; _at__at_ -260,7 +260,10 _at__at_ CHN_UNLOCK(parent); /* add us to our grandparent's channel list */ - err = pcm_chn_add(d, child, !first); + /* + * XXX maybe we shouldn't always add the dev_t + */ + err = pcm_chn_add(d, child); if (err) { pcm_chn_destroy(child); free(pce, M_DEVBUF); _at__at_ -312,8 +315,8 _at__at_ if (last) parent->flags &= ~CHN_F_BUSY; - /* remove us from our grantparent's channel list */ - err = pcm_chn_remove(d, c, !last); + /* remove us from our grandparent's channel list */ + err = pcm_chn_remove(d, c); if (err) return err; --- /sys/dev/sound/pcm/mixer.c.orig Tue Nov 11 11:38:28 2003 +++ /sys/dev/sound/pcm/mixer.c Wed Jan 21 12:08:16 2004 _at__at_ -28,7 +28,7 _at__at_ #include "mixer_if.h" -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/mixer.c,v 1.33 2003/11/11 05:38:28 scottl Exp $"); +SND_DECLARE_FILE("$FreeBSD: /repoman/r/ncvs/src/sys/dev/sound/pcm/mixer.c,v 1.34 2004/01/17 10:37:11 phk Exp $"); MALLOC_DEFINE(M_MIXER, "mixer", "mixer"); _at__at_ -87,13 +87,11 _at__at_ static dev_t mixer_get_devt(device_t dev) { - dev_t pdev; - int unit; + struct snddev_info *snddev; - unit = device_get_unit(dev); - pdev = makedev(SND_CDEV_MAJOR, PCMMKMINOR(unit, SND_DEV_CTL, 0)); + snddev = device_get_softc(dev); - return pdev; + return snddev->mixer_dev; } #ifdef SND_DYNSYSCTL _at__at_ -187,6 +185,7 _at__at_ int mixer_init(device_t dev, kobj_class_t cls, void *devinfo) { + struct snddev_info *snddev; struct snd_mixer *m; u_int16_t v; dev_t pdev; _at__at_ -213,6 +212,8 _at__at_ pdev = make_dev(&mixer_cdevsw, PCMMKMINOR(unit, SND_DEV_CTL, 0), UID_ROOT, GID_WHEEL, 0666, "mixer%d", unit); pdev->si_drv1 = m; + snddev = device_get_softc(dev); + snddev->mixer_dev = pdev; return 0; _at__at_ -478,14 +479,14 _at__at_ static void mixer_clone(void *arg, char *name, int namelen, dev_t *dev) { - dev_t pdev; + struct snddev_info *sd; if (*dev != NODEV) return; if (strcmp(name, "mixer") == 0) { - pdev = makedev(SND_CDEV_MAJOR, PCMMKMINOR(snd_unit, SND_DEV_CTL, 0)); - if (pdev->si_flags & SI_NAMED) - *dev = pdev; + sd = devclass_get_softc(pcm_devclass, snd_unit); + if (sd != NULL) + *dev = sd->mixer_dev; } } --- /sys/dev/sound/pcm/sndstat.c.orig Sun Sep 7 23:28:03 2003 +++ /sys/dev/sound/pcm/sndstat.c Wed Jan 21 12:09:17 2004 _at__at_ -27,7 +27,7 _at__at_ #include <dev/sound/pcm/sound.h> #include <dev/sound/pcm/vchan.h> -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/sndstat.c,v 1.14 2003/09/07 16:28:03 cg Exp $"); +SND_DECLARE_FILE("$FreeBSD: /repoman/r/ncvs/src/sys/dev/sound/pcm/sndstat.c,v 1.15 2003/12/08 01:08:03 truckman Exp $"); #define SS_TYPE_MODULE 0 #define SS_TYPE_FIRST 1 _at__at_ -340,7 +340,7 _at__at_ static int sndstat_init(void) { - mtx_init(&sndstat_lock, "sndstat", NULL, 0); + mtx_init(&sndstat_lock, "sndstat", NULL, MTX_DEF); sndstat_dev = make_dev(&sndstat_cdevsw, SND_DEV_STATUS, UID_ROOT, GID_WHEEL, 0444, "sndstat"); return (sndstat_dev != 0)? 0 : ENXIO; GNU gdb 5.2.1 (FreeBSD) Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-unknown-freebsd"... panic: page fault panic messages: --- Fatal trap 12: page fault while in kernel mode fault virtual address = 0x0 fault code = supervisor read, page not present instruction pointer = 0x8:0xc04a4756 stack pointer = 0x10:0xdcc4ea18 frame pointer = 0x10:0xdcc4ea58 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 638 (gnome-settings-daem) trap number = 12 panic: page fault syncing disks, buffers remaining... 2299 2299 2299 2299 2299 2299 2299 2299 2299 2299 2299 2299 2299 2299 2299 ad0: WARNING - WRITE_DMA interrupt was seen but timeout fired LBA=34232255 2299 2299 2299 2299 2299 giving up on 1691 buffers Uptime: 1m22s ad0: WARNING - WRITE_DMA interrupt was seen but timeout fired LBA=34232255 Dumping 511 MB 16 32[CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] 48[CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] 64 80 96 112 128 144 160 176 192 208 224 240 256 272 288 304 320 336 352 368 384 400 416 432 448 464 480 496 --- Reading symbols from /usr/src/sys/i386/compile/bsdkernel/modules/usr/src/sys/modules/linux/linux.ko.debug...done. Loaded symbols for /usr/src/sys/i386/compile/bsdkernel/modules/usr/src/sys/modules/linux/linux.ko.debug Reading symbols from /usr/src/sys/i386/compile/bsdkernel/modules/usr/src/sys/modules/acpi/acpi.ko.debug...done. Loaded symbols for /usr/src/sys/i386/compile/bsdkernel/modules/usr/src/sys/modules/acpi/acpi.ko.debug Reading symbols from /usr/src/sys/i386/compile/bsdkernel/modules/usr/src/sys/modules/linprocfs/linprocfs.ko.debug...done. Loaded symbols for /usr/src/sys/i386/compile/bsdkernel/modules/usr/src/sys/modules/linprocfs/linprocfs.ko.debug #0 doadump () at ../../../kern/kern_shutdown.c:240 240 dumping++; (kgdb) quitReceived on Wed Sep 15 2004 - 10:40:04 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:12 UTC