From owner-acpi-jp@jp.FreeBSD.org Fri Mar  8 07:14:25 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id g27MEP459212;
	Fri, 8 Mar 2002 07:14:25 +0900 (JST)
	(envelope-from owner-acpi-jp@jp.FreeBSD.org)
Received: from mail5.speakeasy.net (mail5.speakeasy.net [216.254.0.205])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with ESMTP/inet id g27MEPP59206
	for <acpi-jp@jp.FreeBSD.org>; Fri, 8 Mar 2002 07:14:25 +0900 (JST)
	(envelope-from jhb@FreeBSD.org)
Received: (qmail 31331 invoked from network); 7 Mar 2002 22:14:17 -0000
Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender <jhb@FreeBSD.org>)
          by mail5.speakeasy.net (qmail-ldap-1.03) with DES-CBC3-SHA encrypted SMTP
          for <acpi-jp@jp.FreeBSD.org>; 7 Mar 2002 22:14:17 -0000
Received: from laptop.baldwin.cx (gw1.twc.weather.com [216.133.140.1])
	by server.baldwin.cx (8.11.6/8.11.6) with ESMTP id g27MEfv07793
	for <acpi-jp@jp.FreeBSD.org>; Thu, 7 Mar 2002 17:14:41 -0500 (EST)
	(envelope-from jhb@FreeBSD.org)
Message-ID: <XFMail.020307171414.jhb@FreeBSD.org>
X-Mailer: XFMail 1.4.0 on FreeBSD
X-Priority: 3 (Normal)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Date: Thu, 07 Mar 2002 17:14:14 -0500 (EST)
From: John Baldwin <jhb@freebsd.org>
To: acpi-jp@jp.FreeBSD.org
Reply-To: acpi-jp@jp.FreeBSD.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+011218
X-Sequence: acpi-jp 1586
Subject: [acpi-jp 1586] Problems with multiple PCI bridges on latest update
Errors-To: owner-acpi-jp@jp.FreeBSD.org
Sender: owner-acpi-jp@jp.FreeBSD.org
X-Originator: jhb@FreeBSD.org

I have current running on an Acer 2100 system that has multiple PCI busses that
worked before the previous ACPI update but now doesn't work anymore.  Excerpt
from the old dmesg:


acpi0: <Acer   12345678> on motherboard
acpi0: power button is handled as a fixed feature programming model.
Timecounter "ACPI"  frequency 3579545 Hz
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
acpi_cpu0: <CPU> on acpi0
acpi_cpu1: <CPU> on acpi0
acpi_cpu2: <CPU> on acpi0
acpi_cpu3: <CPU> on acpi0
acpi_pcib0: <Host-PCI bridge> port 0xcf8-0xcff on acpi0
IOAPIC #0 intpin 19 -> irq 2
pci0: <PCI bus> on acpi_pcib0
...
pci0: <display, VGA> at device 12.0 (no driver attached)
acpi_pcib1: <Host-PCI bridge> on acpi0
IOAPIC #0 intpin 23 -> irq 10
pci1: <PCI bus> on acpi_pcib1

Now I get this:

acpi0: <Acer   12345678> on motherboard
acpi0: power button is handled as a fixed feature programming model.
...
Timecounter "ACPI-safe"  frequency 3579545 Hz
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
acpi_cpu0: <CPU> on acpi0
acpi_cpu1: <CPU> on acpi0
acpi_cpu2: <CPU> on acpi0
acpi_cpu3: <CPU> on acpi0
acpi_pcib0: <Host-PCI bridge> port 0xcf8-0xcff on acpi0
IOAPIC #0 intpin 19 -> irq 2
pci0: <PCI bus> on acpi_pcib0
...
pci0: <display, VGA> at device 12.0 (no driver attached)
acpi_pcib1: <Host-PCI bridge> on acpi0


Fatal trap 12: page fault while in kernel mode
cpuid = 0; lapic.id = 00000000
fault virtual address   = 0x8
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc0158e04
stack pointer           = 0x10:0xc040fc7c
frame pointer           = 0x10:0x0
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)
kernel: type 12 trap, code=0
Stopped at      acpi_pcib_attach+0x1c0: movl    0x8(%ebp),%eax
db> t 
acpi_pcib_attach(1,c3186090,c31d0b00,c31e5680,c040fc94) at
acpi_pcib_attach+0x1c0
db_listwatch_cmd_cmd() at db_listwatch_cmd_cmd+0x1339
db>

(The stack trace looks a bit busted, btw)

(kgdb) l *acpi_pcib_attach+0x1c0
0xc0158e04 is in acpi_pcib_attach (../../../dev/acpica/acpi_pcib.c:208).
203         }
204     
205         /*
206          * Attach the PCI bus proper.
207          */
208         if ((child = device_add_child(dev, "pci", sc->ap_bus)) == NULL) {
209             device_printf(device_get_parent(dev), "couldn't attach pci
bus");
210             return_VALUE(ENXIO);
211         }
212     

So I'm guessing that sc is NULL here?

-- 

John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/
