i386/89545: Compaq DL 360 ACPI boot problem
John Baldwin
jhb at freebsd.org
Tue Jan 3 12:25:08 PST 2006
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 at FreeBSD.org>
> To: John Baldwin <jhb at freebsd.org>
> Cc: freebsd-acpi at freebsd.org, bug-followup at freebsd.org, uralmetal at 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 at 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 at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the freebsd-acpi
mailing list