pcm sound driver crashes at boot time.

1999-04-19 Thread Russell Cattelan
I haven't been able to track down exactly where this
is occuring, but disabling pcm allows eliminates the crash.

The build is current as of Sun 18th.

The one strange thing about this box, it has 
two sounds cards. A build in Yamaha OPL-3 (really really crappy)
and Ensoniq AudioPCI 1371 (very hacked driver, So the problem may be my fault).
But I guessing it has more to do with the newbus stuff.



disk1s3a: boot -cv
BIOS basemem (639K) != RTC basemem (640K), setting to BIOS value
Copyright (c) 1992-1999 The FreeBSD Project.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
FreeBSD 4.0-CURRENT #7: Sun Apr 18 16:48:43 CDT 1999
catte...@lupo.thebarn.com:/export/cyan/src/sys/compile/LUPO
Calibrating clock(s) ... TSC clock: 333005093 Hz, i8254 clock: 1193009 Hz
CLK_USE_I8254_CALIBRATION not specified - using default frequency
Timecounter i8254  frequency 1193182 Hz
CLK_USE_TSC_CALIBRATION not specified - using old calibration method
CPU: Pentium II/Xeon/Celeron (333.05-MHz 686-class CPU)
  Origin = GenuineIntel  Id = 0x652  Stepping=2
  
Features=0x183fbffFPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR
real memory  = 67108864 (65536K bytes)
Physical memory chunk(s):
0x1000 - 0x0009efff, 647168 bytes (158 pages)
0x00306000 - 0x03ffdfff, 63930368 bytes (15608 pages)
avail memory = 62156800 (60700K bytes)
Found BIOS32 Service Directory header at 0xc00fdb60
Entry = 0xfdb70 (0xc00fdb70)  Rev = 0  Len = 1
PCI BIOS entry at 0xdb91
DMI header at 0xc00f6ab0
Version 0.0
Table at 0xf6b8d, 32 entries, 999 bytes
Other BIOS signatures found:
ACPI: 
$PnP: 000f7a60
Preloaded elf kernel kernel at 0xc02f1000.
Pentium Pro MTRR support enabled, default memory type is uncacheable
Math emulator present
Initializing PnP override table
Probing for PnP devices:
Trying Read_Port at 203
Trying Read_Port at 243
Trying Read_Port at 283
PnP: CSN 1 COMP_DEVICE_ID = 0x2fb0d041
CSN 1 Vendor ID: YMH0802 [0x0208a865] Serial 0x Comp ID: PNPb02f 
[0x2fb0d041]
Called nullpnp_probe with tag 0x0001, type 0x0208a865
Called nullpnp_probe with tag 0x0001, type 0x2fb0d041
pci_open(1):mode 1 addr port (0x0cf8) is 0x80003b40
pci_open(1a):   mode1res=0x8000 (0x8000)
pci_cfgcheck:   device 0 [class=06] [hdr=00] is there (id=71808086)
pci_open(1):mode 1 addr port (0x0cf8) is 0x
pci_open(1a):   mode1res=0x8000 (0x8000)
pci_cfgcheck:   device 0 [class=06] [hdr=00] is there (id=71808086)
npx0: math processor on motherboard
npx0: INT 16 interface
apm0: APM BIOS on motherboard
apm: found APM BIOS version 1.2
pcib0: PCI host bus adapter on motherboard
found- vendor=0x8086, dev=0x7180, revid=0x03
class=06-00-00, hdrtype=0x00, mfdev=0
subordinatebus=0secondarybus=0
map[0]: type 3, range 32, base e000, size 28
found- vendor=0x8086, dev=0x7181, revid=0x03
class=06-04-00, hdrtype=0x01, mfdev=0
subordinatebus=1secondarybus=1
found- vendor=0x8086, dev=0x7110, revid=0x01
class=06-01-00, hdrtype=0x00, mfdev=1
subordinatebus=0secondarybus=0
found- vendor=0x8086, dev=0x7111, revid=0x01
class=01-01-80, hdrtype=0x00, mfdev=0
subordinatebus=0secondarybus=0
map[0]: type 4, range 32, base ffa0, size  4
found- vendor=0x8086, dev=0x7112, revid=0x01
class=0c-03-00, hdrtype=0x00, mfdev=0
subordinatebus=0secondarybus=0
intpin=d, irq=0
map[0]: type 4, range 32, base ef80, size  5
found- vendor=0x8086, dev=0x7113, revid=0x01
class=06-80-00, hdrtype=0x00, mfdev=0
subordinatebus=0secondarybus=0
found- vendor=0x105d, dev=0x2339, revid=0x00
class=03-00-00, hdrtype=0x00, mfdev=0
subordinatebus=0secondarybus=0
intpin=a, irq=11
map[0]: type 3, range 32, base fd40, size 22
map[1]: type 3, range 32, base fd00, size 22
map[2]: type 1, range 32, base fe80, size 22
map[3]: type 1, range 32, base fe40, size 22
map[4]: type 1, range 32, base fe3f, size 16
map[5]: type 4, range 32, base ec00, size  8
found- vendor=0x10b7, dev=0x9055, revid=0x24
class=02-00-00, hdrtype=0x00, mfdev=0
subordinatebus=0secondarybus=0
intpin=a, irq=11
map[0]: type 4, range 32, base e480, size  7
map[1]: type 1, range 32, base fe3e6f80, size  7
found- vendor=0x1274, dev=0x1371, revid=0x02
class=04-01-00, hdrtype=0x00, mfdev=0
subordinatebus=0secondarybus=0
intpin=a, irq=11
map[0]: type 4, range 32, base ef00, size  6
found- vendor=0x9004, dev=0x7895, revid=0x03
class=01-00-00, hdrtype=0x00, mfdev=1
subordinatebus=0secondarybus=0
intpin=a, irq=9
map[0]: type 4, range 32, base e000, size  8
map[1]: type 1, range 32, base 

Re: pcm sound driver crashes at boot time.

1999-04-19 Thread Russell Cattelan
Russell Cattelan wrote:

 I haven't been able to track down exactly where this
 is occuring, but disabling pcm allows eliminates the crash.

 The build is current as of Sun 18th.

 The one strange thing about this box, it has
 two sounds cards. A build in Yamaha OPL-3 (really really crappy)
 and Ensoniq AudioPCI 1371 (very hacked driver, So the problem may be my 
 fault).
 But I guessing it has more to do with the newbus stuff.


Ok I finally tracked down what was going wrong, I'm not saying I found the 
problem
of how to fix it correctly.
The cause:
pcmprobe gets called after es_pci_attach (which has setup the snddev_info 
structure),
the first thing pcmprobe does is bzero that structure. Which of course cause a 
page fault
the next time that structure is access. (by es_intr in this case)

The really QD fix was to just return from pcmprobe.


int
pcmprobe(struct isa_device * dev)
{
  DEB(printf(pcmprobe dev:0x%x name:%s\n,dev,
(pcm_info[dev-id_unit]).name));
  /* The AudioPCI probe stuff was done already */
  if(!(strncmp ((pcm_info[dev-id_unit]).name,
ES1371,strlen(ES1371{
 return 1;
  }
bzero(pcm_info[dev-id_unit], sizeof(pcm_info[dev-id_unit]) );
return generic_snd_probe(dev, pcm_devslist, pcm) ? 1 : 0 ;
}



--
Russell Cattelan
catte...@thebarn.com





To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message