ACPI errors on amd64 (sempron)
Nate Lawson
nate at root.org
Fri Oct 28 13:18:14 PDT 2005
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
More information about the freebsd-acpi
mailing list