Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Oct 2005 13:18:03 -0700
From:      Nate Lawson <nate@root.org>
To:        "Moore, Robert" <robert.moore@intel.com>
Cc:        freebsd-acpi@freebsd.org, Jung-uk Kim <jkim@freebsd.org>, Mathieu Prevot <mathieu_prevot@yahoo.fr>
Subject:   Re: ACPI errors on amd64 (sempron)
Message-ID:  <4362877B.8020004@root.org>
In-Reply-To: <971FCB6690CD0E4898387DBF7552B90E033A99FE@orsmsx403.amr.corp.intel.com>
References:  <971FCB6690CD0E4898387DBF7552B90E033A99FE@orsmsx403.amr.corp.intel.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Moore, Robert wrote:
>>>>This looks to me 
>>>>like the pci_link code is pointing the interrupt source at the 
>>>>wrong part of the resource descriptor.  Perhaps it is not 
>>>>incrementing the pointer correctly for 64-bit arches.
> 
> 
> I would be interested in knowing if FreeBSD is using the ACPI CA
> resource manager code, or is parsing the raw AML resource template
> buffers on its own.
> 
> One advantage to using the resource manager is that the resources are
> converted to a format that is easier for upper code to analyze (and
> therefore less prone to error.)

We use our own (acpi_resource.c):
     while (curr < last) {
	res = (ACPI_RESOURCE *)curr;
	curr += res->Length;

	/* Handle the individual resource types */
	switch(res->Id) {
	case ACPI_RSTYPE_END_TAG:
	    ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES, "EndTag\n"));
	    curr = last;
	    break;
	case ACPI_RSTYPE_FIXED_IO:
	    if (res->Data.FixedIo.RangeLength <= 0)
		break;
	    ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES, "FixedIo 0x%x/%d\n",
			     res->Data.FixedIo.BaseAddress,
			     res->Data.FixedIo.RangeLength));
	    set->set_ioport(dev, context,
			    res->Data.FixedIo.BaseAddress,
			    res->Data.FixedIo.RangeLength);
	    break;

I haven't looked at the acpi ca resource manager but it will have to 
match the rest of our rman system to be a viable replacement.

-- 
Nate



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4362877B.8020004>