cvs commit: src/sys/dev/acpica acpi.c acpi_acad.c
acpi_button.c acpi_cmbat.c acpi_ec.c acpi_isab.c acpi_lid.c
acpi_pcib_acpi.c acpi_resource.c acpivar.h
M. Warner Losh
imp at bsdimp.com
Mon Jun 14 15:13:39 GMT 2004
In message: <20040613220241.N17008 at root.org>
Nate Lawson <nate at root.org> writes:
: On Sun, 13 Jun 2004, Nate Lawson wrote:
: > Modified files:
: > sys/dev/acpica acpi.c acpi_acad.c acpi_button.c
: > acpi_cmbat.c acpi_ec.c acpi_isab.c
: > acpi_lid.c acpi_pcib_acpi.c
: > acpi_resource.c acpivar.h
: > Log:
: > Add support to ACPI to manage its own resources. Previously, resource
: > allocation was passed up to nexus. Now, we probe sysresource objects and
: > manage the resources they describe in a local rman pool. This helps
: > devices which attach/detach varying resources (like the _CST object) and
: > module loads/unloads. The allocation/release routines now check to see if
: > the resource is described in a child sysresource object and if so,
: > allocate from the local rman. Sysresource objects add their resources to
: > the pool and reserve them upon boot. This means sysresources need to be
: > probed before other ACPI devices.
: >
: > Changes include:
: > * Add ordering to the child device probe. The current order is: system
: > resource objects, embedded controllers, then everything else.
: > * Make acpi_MatchHid take a handle instead of a device_t arg.
: > * Replace acpi_{get,set}_resource with the generic equivalents.
: >
: > Revision Changes Path
: > 1.159 +137 -52 src/sys/dev/acpica/acpi.c
: > 1.27 +1 -1 src/sys/dev/acpica/acpi_acad.c
: > 1.27 +6 -4 src/sys/dev/acpica/acpi_button.c
: > 1.30 +2 -2 src/sys/dev/acpica/acpi_cmbat.c
: > 1.52 +1 -1 src/sys/dev/acpica/acpi_ec.c
: > 1.8 +3 -1 src/sys/dev/acpica/acpi_isab.c
: > 1.23 +1 -1 src/sys/dev/acpica/acpi_lid.c
: > 1.35 +1 -1 src/sys/dev/acpica/acpi_pcib_acpi.c
: > 1.25 +91 -37 src/sys/dev/acpica/acpi_resource.c
: > 1.71 +3 -1 src/sys/dev/acpica/acpivar.h
:
: This has been tested for a little while but may cause some problems. On
: my laptop, all devices work as before but I get this new output:
:
: unknown: <PNP0c01> can't assign resources (memory)
: unknown: <PNP0303> can't assign resources (port)
: unknown: <PNP0c02> can't assign resources (port)
: unknown: <INT0800> can't assign resources (memory)
: unknown: <PNP0c02> can't assign resources (memory)
: unknown: <IBM3780> can't assign resources (irq)
: unknown: <PNP0501> can't assign resources (port)
: unknown: <IBM0071> can't assign resources (port)
: unknown: <PNP0400> can't assign resources (port)
:
: These messages are wrong since the associated devices have already gotten
: their resources. For instance, IBM3780 (psm0) has successfully gotten irq
: 12 so PnP ISA shouldn't be trying to probe it. Here devinfo -r shows that
: it's fine:
:
: psm0
: Interrupt request lines:
: 0xc
:
: Perhaps someone more knowledgable with the isa code can help figure this
: out.
I'll take a look as soon as I upgrade my laptop past these changes.
Warner
More information about the freebsd-current
mailing list