Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Jul 2001 10:49:40 +0900
From:      Munehiro Matsuda <haro@h4.dion.ne.jp>
To:        neckpain@nettaxi.com
Cc:        msmith@freebsd.org, current@freebsd.org, acpi-jp@jp.freebsd.org
Subject:   Re: acpica malfunctions
Message-ID:  <20010729104940A.haro@h4.dion.ne.jp>
In-Reply-To: <200107271225.FAA09468@mail25.bigmailbox.com>
References:  <200107271225.FAA09468@mail25.bigmailbox.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Thank you for your patch.

Now I can boot my SONY PCG-Z505V/BP with acpi_pcib.c rev1.11 + your patch.
Here's ACPI related dmesg:

acpi0: <SONY   Z3      > on motherboard
Timecounter "ACPI"  frequency 3579545 Hz
acpi_cpu0: <CPU> on acpi0
acpi_tz0: <thermal zone> on acpi0
acpi_button0: <Power Button> on acpi0
acpi_pcib0: <Host-PCI bridge> on acpi0
pci0: <PCI bus> on acpi_pcib0
acpi_pcib0: matched entry for 0.7.INTD (source \\_SB_.LNKD)
acpi_pcib0: possible interrupts:  9
acpi_pcib0: routed interrupt 9 via \\_SB_.LNKD
acpi_pcib0: matched entry for 0.12.INTA (source \\_SB_.LNKB)
acpi_pcib0: possible interrupts:  9
acpi_pcib0: routed interrupt 9 via \\_SB_.LNKB

 Thank you,
  Haro

From: "neckpain@nettaxi.com" <neckpain@nettaxi.com>
Date: Fri, 27 Jul 2001 05:25:53 -0700
::In-Reply-To: <200107232037.f6NKbx201647@mass.dis.org>; from msmith@FreeBSD.ORG on Mon, Jul 23, 2001 at 01:37:59PM -0700
::
::On Mon, Jul 23, 2001 at 01:37:59PM -0700, Mike Smith wrote:
::> > > > 1. Acpica modules hangs in
::> > > >     AcpiRsCalculateByteStreamLength() called from
::> > > >     AcpiRsCreateByteStream() called from
::> > > >     AcpiRsSetSrsMethodData() called from
::> > > >     AcpiSetCurrentResources() from somewhere in acpi_pcib.c .
::> > > >
::> > > >     The hang itself occurs at LinkedList->Id == 9 and LinkedList->Length 
::> > == 0
::> > > > .
::> > >
::> > > Can you replace &crsbuf with crsbuf in acpi_pcib.c at line 484?
::> > > I think I should be passing a pointer to the buffer, not a pointer to a
::> > > pointer.
::> > 
::> > There's no &crsbuf in line 484 (not in rev 1.10, nor 1.11).
::> > 
::> > Assuming you're talking about the one in line 478, it doesn't compile if you
::> > change it to crsbuf from &crsbuf, since crsbuf is an ACPI_BUFFER, not
::> > an (ACPI_BUFFER *).
::> 
::> Um.  Sorry about the line numbers, and yes, sorry about the confusion 
::> there; I just looked at it and it seemed wrong.
::> 
::> I'd still like to know the allocation length for that buffer though; my 
::> last suspicion is that it doesn't contain any resources at all, and so 
::> we're overrunning it when we go to try to stuff an interrupt resource 
::> into it.  If that's the case, it's easy to fix.  If not, then we will 
::> have to go hunting snarks.
::
::Mike,
::Seems like I managed to solve my problem. Attached is to be applied against
::sys/dev/acpica/acpi_pcib.c, rev 1.10 .
::
::First of all, the list returned in crsbuf was terminated with an element
::with its Length field equal to zero (and Id field was ACPI_RSTYPE_IRQ).
::Since AcpiRsCalculateByteStreamLength() expects ACPI_RSTYPE_END_TAG as
::terminator and doesn't check the validity of Length field (or, in other words,
::this function doesn't treat it as terminator), the function never returned.
::
::And as you suggested, AcpiGetCurrentResources() returned an IRQ resource
::with no interrupts(NumberOfInterrupts = 0, and no room for
::Data.Irq.Interrupts[0]). Thus the line 476 in acpi_pcib.c was overwriting
::the Id field in the next element.
::
::The patch tries to allocate another buffer to resize the list, and to modify the
::last element's Id to ACPI_RSTYPE_END_TAG.
::I think AcpiRsCalculateByteStreamLength() should just exit the while loop
::when it found an element with Length = 0, rather than wait for the end tag
::forever.
::
::Thanks.
::
::
::------------------------------------------------------------
::Shop Smart Compare Prices on Name-Brand Products from Name-Brand Stores!!
::http://www.smartshop.com/cgi-bin/main.cgi?ssa=4099

=------------------------------------------------------------------------------
           _ _    Munehiro (haro) Matsuda
 -|- /_\  |_|_|   Business Incubation Dept., Kubota Corp.
 /|\ |_|  |_|_|   1-3 Nihonbashi-Muromachi 3-Chome
                  Chuo-ku Tokyo 103-8310, Japan
                  Tel: +81-3-3245-3318  Fax: +81-3-3245-3315
                  Email: haro@kubota.co.jp

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010729104940A.haro>