From owner-acpi-jp@jp.FreeBSD.org Wed Mar 13 04:40:08 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id g2CJe8781571;
	Wed, 13 Mar 2002 04:40:08 +0900 (JST)
	(envelope-from owner-acpi-jp@jp.FreeBSD.org)
Received: from mail11.speakeasy.net (mail11.speakeasy.net [216.254.0.211])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with ESMTP/inet id g2CJe8c81566
	for <acpi-jp@jp.FreeBSD.org>; Wed, 13 Mar 2002 04:40:08 +0900 (JST)
	(envelope-from jhb@FreeBSD.org)
Received: (qmail 10012 invoked from network); 12 Mar 2002 19:40:05 -0000
Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender <jhb@FreeBSD.org>)
          by mail11.speakeasy.net (qmail-ldap-1.03) with DES-CBC3-SHA encrypted SMTP
          for <msmith@FreeBSD.org>; 12 Mar 2002 19:40:05 -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 g2CJeSv27527;
	Tue, 12 Mar 2002 14:40:29 -0500 (EST)
	(envelope-from jhb@FreeBSD.org)
Message-ID: <XFMail.20020312144005.jhb@FreeBSD.org>
X-Mailer: XFMail 1.5.2 on FreeBSD
X-Priority: 3 (Normal)
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
In-Reply-To: <XFMail.020307171414.jhb@FreeBSD.org>
Date: Tue, 12 Mar 2002 14:40:05 -0500 (EST)
From: John Baldwin <jhb@freebsd.org>
To: John Baldwin <jhb@freebsd.org>
Cc: acpi-jp@jp.FreeBSD.org, msmith@freebsd.org
Reply-To: acpi-jp@jp.FreeBSD.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+020312
X-Sequence: acpi-jp 1595
Subject: [acpi-jp 1595] RE: Problems with multiple PCI bridges on latest
Errors-To: owner-acpi-jp@jp.FreeBSD.org
Sender: owner-acpi-jp@jp.FreeBSD.org
X-Originator: jhb@FreeBSD.org


On 07-Mar-2002 John Baldwin wrote:
> 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?

Err, nope.  Looking at that again, bp (frame pointer) is 0x0.  Maybe we are now
overflowing our stack?  The entire problem seems to be a stack issue.  I'll try
bumping KSTACK_PAGES to see if it goes away.  If it does then it seems ACPI
needs to go on a stack diet of some sort. :-/

-- 

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