Date: Tue, 3 Jan 2006 15:19:37 -0500 From: John Baldwin <jhb@freebsd.org> To: freebsd-acpi@freebsd.org, Anders Nordby <anders@freebsd.org> Subject: Re: i386/89545: Compaq DL 360 ACPI boot problem Message-ID: <200601031519.38226.jhb@freebsd.org> In-Reply-To: <200601031950.k03Jo5GV052249@freefall.freebsd.org> References: <200601031950.k03Jo5GV052249@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 03 January 2006 02:50 pm, Anders Nordby wrote: > The following reply was made to PR i386/89545; it has been noted by GNATS. > > From: Anders Nordby <anders@FreeBSD.org> > To: John Baldwin <jhb@freebsd.org> > Cc: freebsd-acpi@freebsd.org, bug-followup@freebsd.org, uralmetal@gmail.com > Subject: Re: i386/89545: Compaq DL 360 ACPI boot problem > Date: Tue, 3 Jan 2006 20:47:01 +0100 > > --oyUTqETQ0mS9luUI > Content-Type: text/plain; charset=us-ascii > Content-Disposition: inline > > Hi, > > On Tue, Jan 03, 2006 at 09:24:43AM -0500, John Baldwin wrote: > > Ok, looks like it is ACPI_SERIAL_BEGIN() it is hanging on. Also, the > > reason you don't see the pritnf's in 6-stable is the devices are now > > marked quiet so they don't show up in dmesg by default anymore. The > > problem is I must have forgotten to release the pci_link lock somewhere. > > If you had INVARIANTS on it should have panic'd in sx_xlock. As it is, > > I think this patch will fix the hangs on both 6.x and 7.0: > > > > Index: acpi_pci_link.c > > =================================================================== > > RCS file: /usr/cvs/src/sys/dev/acpica/acpi_pci_link.c,v > > retrieving revision 1.51 > > diff -u -r1.51 acpi_pci_link.c > > --- acpi_pci_link.c 5 Dec 2005 19:50:00 -0000 1.51 > > +++ acpi_pci_link.c 3 Jan 2006 14:24:23 -0000 > > @@ -449,8 +449,10 @@ > > } > > } > > sc->pl_num_links = creq.count; > > - if (creq.count == 0) > > + if (creq.count == 0) { > > + ACPI_SERIAL_END(pci_link); > > return (0); > > + } > > sc->pl_links = malloc(sizeof(struct link) * sc->pl_num_links, > > M_PCI_LINK, M_WAITOK | M_ZERO); > > I applied the patch on the same RELENG_6 installation I upgraded to the > other day, which also has the printf patch. Using what you suggest above, > I get further. But now I get a panic. Log attached. Ok, so this part is good. > Cheers, > > -- > Anders. > > --oyUTqETQ0mS9luUI > Content-Type: text/plain; charset=us-ascii > Content-Disposition: attachment; filename="anderstest.log" > > Copyright (c) 1992-2005 The FreeBSD Project. > Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 > The Regents of the University of California. All rights reserved. > FreeBSD 6.0-STABLE #0: Sat Dec 31 02:04:34 UTC 2005 > root@anderstest:/usr/obj/usr/src/sys/SMP > Timecounter "i8254" frequency 1193182 Hz quality 0 > CPU: Intel(R) Pentium(R) III CPU family 1133MHz (1130.46-MHz > 686-class CPU) Origin = "GenuineIntel" Id = 0x6b1 Stepping = 1 > > Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV >,PAT,PSE36,MMX,FXSR,SSE> real memory = 671072256 (639 MB) > avail memory = 647356416 (617 MB) > npx0: [FAST] > npx0: <math processor> on motherboard > npx0: INT 16 interface > acpi0: <COMPAQ MICRO> on motherboard > acpi0: Power Button (fixed) > unknown: I/O range not supported > attach started > pci_link0: calling _CRS > pci_link0: _CRS returned AE_OK > pci_link0: num_links = 0 > attach started > pci_link1: calling _CRS > pci_link1: _CRS returned AE_OK > pci_link1: num_links = 1 > pci_link1: 1 links initialized after child links > pci_link1: calling _CRS again > pci_link1: _CRS returned AE_OK > pci_link1: calling _PRS again > pci_link1: _PRS returned AE_OK > attach started > pci_link2: calling _CRS > pci_link2: _CRS returned AE_OK > pci_link2: num_links = 1 > pci_link2: 1 links initialized after child links > pci_link2: calling _CRS again > pci_link2: _CRS returned AE_OK > pci_link2: calling _PRS again > pci_link2: _PRS returned AE_OK > attach started > pci_link3: calling _CRS > pci_link3: _CRS returned AE_OK > pci_link3: num_links = 1 > pci_link3: 1 links initialized after child links > pci_link3: calling _CRS again > pci_link3: _CRS returned AE_OK > pci_link3: calling _PRS again > pci_link3: _PRS returned AE_OK > attach started > pci_link4: calling _CRS > pci_link4: _CRS returned AE_OK > pci_link4: num_links = 1 > pci_link4: 1 links initialized after child links > pci_link4: calling _CRS again > pci_link4: _CRS returned AE_OK > pci_link4: calling _PRS again > pci_link4: _PRS returned AE_OK > attach started > pci_link5: calling _CRS > pci_link5: _CRS returned AE_OK > pci_link5: num_links = 1 > pci_link5: 1 links initialized after child links > pci_link5: calling _CRS again > pci_link5: _CRS returned AE_OK > pci_link5: calling _PRS again > pci_link5: _PRS returned AE_OK > attach started > pci_link6: calling _CRS > pci_link6: _CRS returned AE_OK > pci_link6: num_links = 1 > pci_link6: 1 links initialized after child links > pci_link6: calling _CRS again > pci_link6: _CRS returned AE_OK > pci_link6: calling _PRS again > pci_link6: _PRS returned AE_OK > attach started > pci_link7: calling _CRS > pci_link7: _CRS returned AE_OK > pci_link7: num_links = 1 > pci_link7: 1 links initialized after child links > pci_link7: calling _CRS again > pci_link7: _CRS returned AE_OK > pci_link7: calling _PRS again > pci_link7: _PRS returned AE_OK > attach started > pci_link8: calling _CRS > pci_link8: _CRS returned AE_OK > pci_link8: num_links = 1 > pci_link8: 1 links initialized after child links > pci_link8: calling _CRS again > pci_link8: _CRS returned AE_OK > pci_link8: calling _PRS again > pci_link8: _PRS returned AE_OK > attach started > pci_link9: calling _CRS > pci_link9: _CRS returned AE_OK > pci_link9: num_links = 1 > pci_link9: 1 links initialized after child links > pci_link9: calling _CRS again > pci_link9: _CRS returned AE_OK > pci_link9: calling _PRS again > pci_link9: _PRS returned AE_OK > Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000 > acpi_timer0: <24-bit timer at 3.579545MHz> port 0x240-0x243 on acpi0 > cpu0: <ACPI CPU> on acpi0 > pcib0: <ACPI Host-PCI bridge> on acpi0 > pci_link6: BIOS IRQ 3 for 0.1.INTA is invalid > panic: acpi_pci_link_add_reference: apparently invalid index 0 > cpuid = 0 > Uptime: 1s > Automatic reboot in 15 seconds - press a key on the console to abort > Rebooting... Your BIOS is busted. It's trying to route an interrupt via the FAKE link device that doesn't have any interrupts available. Can you post your ASL somewhere? -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200601031519.38226.jhb>