Date: Sun, 26 Mar 2000 14:44:11 +0200 From: sthaug@nethelp.no To: imp@village.org Cc: sanpei@sanpei.org, freebsd-mobile@FreeBSD.ORG Subject: Re: HEADSUP: CARDBUS BRIDGE PUT INTO LEGACY MODE NOW Message-ID: <90495.954074651@verdi.nethelp.no> In-Reply-To: Your message of "Sat, 25 Mar 2000 13:32:16 -0700" References: <200003252032.NAA73353@harmony.village.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> I have just commited a (hopefully) improved version of this patch. > This patch turned out to be a superset of what I had done before, and > didn't contain some of the bugs that my earlier patches had. > > Please let me know if this impacts your ability to use the laptop. I > took the extraordinary step of always trying to place the cardbus > bridge into legacy mode. I have an Acer Extensa 390 with TI 1250 cardbus bridges, which normally runs 3.2-PAO. I had tried 4.0 earlier without much success, and decided to give it a whirl after this change. Unfortunately, not much success this time either. I get the following crash while booting - I have no idea whether this is related to your changes or not: ... pcic0 at port 0x30 iomem 0xd0000 irq 11 on isa0 pcic ident regs: 0x84 0x84 0x00 0x00 pcic0: controller 0 (Intel 82365SL Revision 1) has sockets A and B pcic_attach_card h 0xc07d9048 h->dev 0xc07dae80 pccard0: pccard_card_attach Fatal trap 12: page fault while in kernel mode fault virtual address = 0x128 fault code = supervisor write, page not present instruction pointer = 0x8:0xc011dc0e stack pointer = 0x10:0xc0279b08 frame pointer = 0x10:0xc0279b10 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 = 0 (swapper) interrupt mask = net tty bio cam kernel: type 12 trap, code=0 Stopped at pccard_card_attach+0x2a: movl $0,0x128(%ebx) db> t pccard_card_attach(c07dae80, ...) at pccard_card_attch+0x2a pcic_attach_card(c07d9048, ...) at pcic_attach_card+0x2f pcic_init_socket(c07d9048, ...) at pcic_init_socket+0xac ... Looking at the code in pccard_card_attach(), since it never gets to DEVPRINTF((dev, "chip_socket_enable\n")); I assume it crashes at this line: STAILQ_INIT(&sc->card.pf_head); This is the kernel config I'm using: machine i386 cpu I586_CPU ident CARRIE maxusers 32 makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols options MATH_EMULATE #Support for x87 emulation options INET #InterNETworking options FFS #Berkeley Fast Filesystem options FFS_ROOT #FFS usable as root device [keep this!] options PROCFS #Process filesystem options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!] 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 DDB device isa device pci device pccard device fdc0 at isa? port IO_FD1 irq 6 drq 2 device fd0 at fdc0 drive 0 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 atkbdc0 at isa? port IO_KBD device atkbd0 at atkbdc? irq 1 device psm0 at atkbdc? irq 12 device vga0 at isa? device sc0 at isa? device npx0 at nexus? port IO_NPX irq 13 device apm0 at nexus? flags 0x20 # Advanced Power Management device pcic0 at isa? port 0x3e0 irq 11 iomem 0xd0000 device sio0 at isa? port IO_COM1 flags 0x10 irq 4 device sio1 at isa? port IO_COM2 irq 3 device ep pseudo-device loop # Network loopback pseudo-device ether # Ethernet support pseudo-device pty # Pseudo-ttys (telnet etc) For reference, below is the 3.2-PAO configuration and the corresponding messages from a verbose boot. Steinar Haug, Nethelp consulting, sthaug@nethelp.no ---------------------------------------------------------------------- # From: $Id: GENERIC,v 1.143.2.15 1999/06/19 21:37:44 wpaul Exp $ machine "i386" cpu "I586_CPU" ident GENERIC maxusers 32 options MATH_EMULATE #Support for x87 emulation options INET #InterNETworking options FFS #Berkeley Fast Filesystem options FFS_ROOT #FFS usable as root device [keep this!] options NFS #Network Filesystem options NFS_ROOT #NFS usable as root device, "NFS" req'ed options MSDOSFS #MSDOS Filesystem options "EXT2FS" options "CD9660" #ISO 9660 Filesystem options "CD9660_ROOT" #CD-ROM usable as root. "CD9660" req'ed options PROCFS #Process filesystem options "COMPAT_43" #Compatible with BSD 4.3 [KEEP THIS!] options UCONSOLE #Allow users to grab the console options USERCONFIG #boot -c editor options VISUAL_USERCONFIG #visual boot -c editor options KTRACE #kernel tracing options SYSVSHM options SYSVMSG options MSGBUF_SIZE=32768 options INCLUDE_CONFIG_FILE # Include this file in kernel options DDB options SOFTUPDATES # You may need to reset all pccards after resuming options PCIC_RESUME_RESET # PAO Enhanced PCI-PCIC support (experimental) #options CB_TEST #options FORCE_IRQ_ROUTING config kernel root on wd0 controller isa0 controller pnp0 controller pci0 # Dont remove these two lines! pseudo-device card 1 device pcic0 at isa? port 0x3e0 irq 11 device pcic0 at isa? port 0x3e4 irq 11 controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 disk fd0 at fdc0 drive 0 options "CMD640" # work around CMD640 chip deficiency controller wdc0 at isa? port "IO_WD1" bio irq 14 flags 0xa0ffa0ff disk wd0 at wdc0 drive 0 controller wdc1 at isa? port "IO_WD2" bio irq 15 flags 0xa0ffa0ff options ATAPI #Enable ATAPI support for IDE bus options ATAPI_STATIC #Don't do it as an LKM device acd0 #IDE CD-ROM controller atkbdc0 at isa? port IO_KBD tty device atkbd0 at isa? tty irq 1 device psm0 at isa? tty irq 12 device vga0 at isa? port ? conflicts device sc0 at isa? tty device npx0 at isa? port IO_NPX irq 13 device apm0 at isa? # Advanced Power Management device sio0 at isa? port "IO_COM1" flags 0x10 tty irq 4 device sio1 at isa? port "IO_COM2" tty irq 3 device ppc0 at isa? port? flags 0x40 net irq 7 controller ppbus0 device lpt0 at ppbus? device plip0 at ppbus? device ppi0 at ppbus? device pcm0 at isa? port? tty irq 5 drq 0 flags 0x17 vector pcmintr device ed0 at isa? port 0x280 net irq 10 iomem 0xd8000 device ep0 at isa? port 0x300 net irq 10 pseudo-device loop pseudo-device ether pseudo-device ppp 1 pseudo-device tun 1 pseudo-device pty 16 pseudo-device gzip # Exec gzipped a.out's pseudo-device bpfilter 4 #Berkeley packet filter ---------------------------------------------------------------------- Copyright (c) 1992-1999 FreeBSD Inc. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. FreeBSD 3.2-STABLE #0: Mon Jun 21 23:37:24 CEST 1999 sthaug@carrie.nethelp.no:/local/freebsd/src/sys/compile/CARRIE_PAO Calibrating clock(s) ... TSC clock: 166645297 Hz, i8254 clock: 1193265 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/P55C (166.63-MHz 586-class CPU) Origin = "GenuineIntel" Id = 0x543 Stepping=3 Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX> real memory = 50331648 (49152K bytes) Physical memory chunk(s): 0x00001000 - 0x0009efff, 647168 bytes (158 pages) 0x002d1000 - 0x02ff7fff, 47345664 bytes (11559 pages) avail memory = 46153728 (45072K bytes) Found BIOS32 Service Directory header at 0xc00f0280 Entry = 0xf0210 (0xc00f0210) Rev = 0 Len = 1 PCI BIOS entry at 0x0 Other BIOS signatures found: ACPI: 00000000 $PnP: 000f53e0 Preloaded elf kernel "kernel" at 0xc02bc000. Math emulator present pci_open(1): mode 1 addr port (0x0cf8) is 0x00000000 pci_open(1a): mode1res=0x80000000 (0x80000000) pci_cfgcheck: device 0 [class=060000] [hdr=00] is there (id=153110b9) Probing for devices on PCI bus 0: found-> vendor=0x10b9, dev=0x1531, revid=0xb3 class=06-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 chip0: <Host to PCI bridge (vendor=10b9 device=1531)> rev 0xb3 on pci0.0.0 found-> vendor=0x10b9, dev=0x1533, revid=0x07 class=06-01-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 chip1: <AcerLabs M1533 portable PCI-ISA bridge> rev 0x07 on pci0.2.0 found-> vendor=0x104c, dev=0xac16, revid=0x02 class=06-07-00, hdrtype=0x02, mfdev=1 subordinatebus=0 secondarybus=0 intpin=a, irq=9 pcic0: <TI PCI-1250 PCI-CardBus Bridge> rev 0x02 int a irq 9 on pci0.5.0 bus = 0, slot = 5, func = 0 TI12XX PCI Config Reg: [ring enable][pwr save][CSC parallel isa irq] pcic0, Legacy PC-card 16bit I/O address [0x3e0] PCI Config space: 00: ac16104c 02100007 06070002 00822000 10: 00000000 020000a0 00000000 00000000 20: 00000000 00000000 00000000 00000000 30: 00000000 00000000 00000000 03c00109 40: 00000000 000003e1 00000000 00000000 50: 00000000 00000000 00000000 00000000 60: 00000000 00000000 00000000 00000000 70: 00000000 00000000 00000000 00000000 80: 08449060 00000000 01898181 f0ba9597 90: 616280c0 00000000 00000000 00000000 a0: 7e210001 00808000 00000000 00000000 b0: 00000000 00000000 00000000 00000000 c0: 00000000 00000000 00000000 00000000 d0: 00000000 00000000 00000000 00000000 e0: 00000000 00000000 00000000 00000000 f0: 00000000 00000000 00000000 00000000 found-> vendor=0x104c, dev=0xac16, revid=0x02 class=06-07-00, hdrtype=0x02, mfdev=1 subordinatebus=0 secondarybus=0 intpin=b, irq=9 pcic1: <TI PCI-1250 PCI-CardBus Bridge> rev 0x02 int b irq 9 on pci0.5.1 bus = 0, slot = 5, func = 1 TI12XX PCI Config Reg: [ring enable][pwr save][CSC parallel isa irq] PCI Config space: 00: ac16104c 02100003 06070002 00822000 10: 00000000 020000a0 00000000 00000000 20: 00000000 00000000 00000000 00000000 30: 00000000 00000000 00000000 03c00209 40: 00000000 000003e1 00000000 00000000 50: 00000000 00000000 00000000 00000000 60: 00000000 00000000 00000000 00000000 70: 00000000 00000000 00000000 00000000 80: 08449060 00000000 01898181 f0ba9597 90: 616280c0 00000000 00000000 00000000 a0: 7e210001 00800000 00000000 00000000 b0: 00000000 00000000 00000000 00000000 c0: 00000000 00000000 00000000 00000000 d0: 00000000 00000000 00000000 00000000 e0: 00000000 00000000 00000000 00000000 f0: 00000000 00000000 00000000 00000000 found-> vendor=0x102c, dev=0x00e5, revid=0xc6 class=03-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 map[0]: type 1, range 32, base 04000000, size 24 vga0: <Chips & Technologies model 00e5 VGA-compatible display device> rev 0xc6 on pci0.6.0 found-> vendor=0x10b9, dev=0x5229, revid=0x20 class=01-01-8a, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=a, irq=255 map[0]: type 4, range 32, base 0000f000, size 4 ide_pci0: <Acer Aladdin IV/V (M5229) Bus-master IDE controller> rev 0x20 int a irq 255 on pci0.11.0 found-> vendor=0x10b9, dev=0x7101, revid=0x00 class=06-80-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 map[0]: type 4, range 32, base 00000000, size 6 map[1]: type 4, range 32, base 00000000, size 5 chip2: <PCI to 0x80 bridge (vendor=10b9 device=7101)> rev 0x00 on pci0.12.0 Initializing PnP override table Probing for PnP devices: Trying Read_Port at 203 CSN 1 Vendor ID: YMH0800 [0x0008a865] Serial 0xffffffff Comp ID: @@@0000 [0x00000000] Called nullpnp_probe with tag 0x00000001, type 0x0008a865 port 0x0000 0x0000 0x0000 0x0000 irq 0:0 drq 4:4 en 0 This is a Yamaha YMF719 OPL-SA3, but LDN 0 is disabled Probing for devices on the ISA bus: atkbd: the current kbd controller command byte 0065 atkbd: keyboard ID 0x54ab (3) kbdc: RESET_KBD return code:00fa kbdc: RESET_KBD status:00aa sc0 on isa sc0: fb0 kbd0 sc0: VGA color <16 virtual consoles, flags=0x0> ed0 not found at 0x280 atkbdc0 at 0x60-0x6f on motherboard atkbd0 irq 1 on isa kbd0: atkbd0, generic (3), config:0x0, flags:0x3d0000 psm0: current command byte:0065 kbdc: TEST_AUX_PORT status:0000 kbdc: RESET_AUX return code:00fa kbdc: RESET_AUX status:00aa kbdc: RESET_AUX ID:0000 psm: status 00 02 64 psm: status 00 00 64 psm: status 00 03 64 psm: status 00 03 64 psm: status 10 00 64 psm: data 08 00 00 psm: data 08 00 00 psm: status 00 02 64 psm0 irq 12 on isa psm0: model Generic PS/2 mouse, device ID 0, 2 buttons psm0: config:00000000, flags:00000000, packet size:3 psm0: syncmask:c0, syncbits:00 sio0: irq maps: 0x1 0x11 0x1 0x1 sio0 at 0x3f8-0x3ff irq 4 flags 0x10 on isa sio0: type 16550A sio1: irq maps: 0x1 0x9 0x1 0x1 sio1 at 0x2f8-0x2ff irq 3 on isa sio1: type 16550A mss_probe: no address supplied, try default 0x530 mss_detect error, busy still set (0xff) sb_probe: no address supplied, try defaults (0x220,0x240) pcm0 not found fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa fdc0: FIFO enabled, 8 bytes threshold fd0: 1.44MB 3.5in wdc0 at 0x1f0-0x1f7 irq 14 flags 0xa0ffa0ff on isa wdc0: unit 0 (wd0): <HITACHI_DK226A-21U>, 32-bit, multi-block-16 wd0: 2061MB (4221504 sectors), 4188 cyls, 16 heads, 63 S/T, 512 B/S wd0: ATA INQUIRE valid = 0007, dmamword = 0407, apio = 0003, udma = 0007 wdc1 at 0x170-0x177 irq 15 flags 0xa0ffa0ff on isa wdc1: unit 0 (atapi): <UJDA110/1.05>, removable, accel, dma, iordy acd0: drive speed 2416KB/sec, 128KB cache acd0: supported read types: CD-DA acd0: Audio: play, 16 volume levels acd0: Mechanism: ejectable tray acd0: Medium: no/blank disc inside, unlocked ppc: parallel port found at 0x378 ppc: chipset forced to generic ppc0: ECP SPP ECP+EPP SPP ppc0 at 0x378 irq 7 flags 0x40 on isa ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/8 bytes threshold lpt0: <generic printer> on ppbus 0 lpt0: Interrupt-driven port ppi0: <generic parallel i/o> on ppbus 0 plip: irq 7 plip0: <PLIP network interface> on ppbus 0 bpf: lp0 attached ep0 not found at 0x300 PCIC ID = 0x84 PCIC ID = 0x84 PCIC ID = 0x00 PCIC ID = 0x00 pcic0 at 0x3e0-0x3e1 irq 11 on isa PC-Card ctlr(0) TI PCI-1250 [CardBus bridge mode] (5 mem & 2 I/O windows) pcic0: slot 0 controller I/O address 0x3e0 pcic0: slot 1 controller I/O address 0x3e0 vga0 at 0x3b0-0x3df maddr 0xa0000 msize 131072 on isa fb0: vga0, vga, type:VGA (5), flags:0x7007f fb0: port:0x3b0-0x3df, crtc:0x3d4, mem:0xa0000 0x20000 fb0: init mode:24, bios mode:3, current mode:24 fb0: window:0xc00b8000 size:32k gran:32k, buf:0x0 size:0k VGA parameters upon power-up 50 18 10 00 00 00 03 00 02 67 5f 4f 50 82 55 81 bf 1f 00 4f 0d 0e 00 00 07 80 9c 8e 8f 28 1f 96 b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff VGA parameters in BIOS for mode 24 50 18 10 00 10 00 03 00 02 67 5f 4f 50 82 55 81 bf 1f 00 4f 0d 0e 00 00 00 00 9c 8e 8f 28 1f 96 b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff EGA/VGA parameters to be used for mode 24 50 18 10 00 10 00 03 00 02 67 5f 4f 50 82 55 81 bf 1f 00 4f 0d 0e 00 00 00 00 9c 8e 8f 28 1f 96 b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff npx0 on motherboard npx0: INT 16 interface i586_bzero() bandwidth = 174185681 bytes/sec bzero() bandwidth = 751879699 bytes/sec apm0 on isa apm: found APM BIOS version 1.2 imasks: bio c008c040, tty c003101a, net c0060080 device combination doesn't support shared irq3 intr_connect(irq3) failed, result=-1 device combination doesn't support shared irq4 intr_connect(irq4) failed, result=-1 device combination doesn't support shared irq7 intr_connect(irq7) failed, result=-1 device combination doesn't support shared irq11 intr_connect(irq11) failed, result=-1 device combination doesn't support shared irq12 intr_connect(irq12) failed, result=-1 device combination doesn't support shared irq14 intr_connect(irq14) failed, result=-1 device combination doesn't support shared irq15 intr_connect(irq15) failed, result=-1 BIOS Geometries: 0:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 1:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 2:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 3:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 4:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 5:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 6:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 7:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 0 accounted for Device configuration finished. Intel Pentium detected, installing workaround for F00F bug bpf: tun0 attached bpf: ppp0 attached new masks: bio c008c040, tty c003101a, net c007109a bpf: lo0 attached Considering FFS root f/s. changing root device to wd0s2a wd0s1: type 0x6, start 63, end = 943487, size 943425 : OK wd0s2: type 0xa5, start 943488, end = 4221503, size 3278016 : OK start_init: trying /sbin/init Card inserted, slot 0 ffs_mountfs: superblock updated for soft updates ffs_mountfs: superblock updated for soft updates ffs_mountfs: superblock updated for soft updates card0: assign ep0 iobase 0x240 irq 10 ep0: utp/bnc[*UTP*] address 00:10:5a:2d:23:48 bpf: ep0 attached To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?90495.954074651>