#
055c1fe2 |
|
14-Feb-2024 |
John Baldwin <jhb@FreeBSD.org> |
acpi: Allow child drivers to use bus_set_resource for more resources acpi_set_resource excludes certain types of resources for certain devices. The intention of this is to avoid adding resource entries for bogus resources enumerated via _CRS. However, this also prevents drivers from adding those resources explicitly if needed. To fix this, move the logic to exclude these resources into an ignore hook used when parsing _CRS to create the initial set of resources for each device. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D43892
|
#
0e1246e3 |
|
09-Feb-2024 |
John Baldwin <jhb@FreeBSD.org> |
acpi: Cleanup handling of suballocated resources For resources suballocated from the system resource rmans, handle those in the ACPI bus driver without passing them up to the parent. This means using bus_generic_rman_* for several bus methods for operations on suballocated resources. For bus_map/unmap_resource, find the system resource allocated from the parent bus (nexus) that contains the range being mapped and request a mapping of that parent resource. This avoids a layering violation where nexus drivers were previously asked to manage the activation and mapping of resources created belonging to the ACPI resource managers. Note that this does require passing RF_ACTIVE (with RF_UNMAPPED) when allocating system resources from the parent. While here, don't assume that the parent bus (nexus) provides a resource list that sysres resources are placed on. Instead, create a dedicated resource_list in the ACPI bus driver's softc to hold sysres resources. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D43687
|
#
6f38d2e7 |
|
15-Nov-2023 |
Andrew Gallatin <gallatin@FreeBSD.org> |
acpi: Add workaround for Altra I2C memory resource Submitted by: allanjude Sponsored by: Ampere Computing LLC Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D28741
|
#
685dc743 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
916a5d8a |
|
19-Apr-2022 |
John Baldwin <jhb@FreeBSD.org> |
acpi: Remove unused devclass arguments to DRIVER_MODULE.
|
#
aed2afeb |
|
02-Aug-2021 |
Aleksandr Rybalko <ray@FreeBSD.org> |
Ignore ResourceProducer flag for: o Arm CoreLink TM CMN-600 Coherent Mesh Network controller, o Arm CoreLink DMC-620 Dynamic Memory Controller. Sponsored by: Ampere Computing LLC Submitted by: Klara Inc.
|
#
1472117a |
|
08-Jul-2021 |
Andrew Turner <andrew@FreeBSD.org> |
Support fixed size, variable location acpi resources These have been found in some Arm ACPI tables generated by edk2, e.g. when describing the pl011 uart on the Arm AEMv8 model. Reviewed by: imp, jkim Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D31110
|
#
a52c8a65 |
|
30-Sep-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
acpi_resource: support multiple IRQs Some DSDT entries have multiple interrupts for one device. Add support for it. This fixes ahci on NXP LS2160 and genet on RPi4 Submitted by: Greg V <greg@unrelenting.technology> Reviewed by: jhb MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D25145
|
#
c7dada4c |
|
10-Jun-2020 |
Ruslan Bukin <br@FreeBSD.org> |
All the ARM Coresight interconnect devices set ResourceProducer on memory resources, ignore it. The devices found in the ARM Neoverse N1 System Development Platform (N1SDP). Sponsored by: DARPA, AFRL
|
#
b62d159c |
|
09-Jun-2020 |
Ruslan Bukin <br@FreeBSD.org> |
Similar to UART on ThunderX2, the ARM Coresight (ETM component) set ResourceProducer on memory resources: ignore it. Tested on ARM N1SDP board. Sponsored by: DARPA, AFRL
|
#
41c31f1c |
|
01-Aug-2019 |
Ed Maste <emaste@FreeBSD.org> |
acpi_resource.c: mention ThunderX2 firmware revision with issue Presumably this will be fixed in the next version, and the workaround could eventually be removed. See r330113 and r346066 details.
|
#
e9a00a5d |
|
09-Apr-2019 |
John Baldwin <jhb@FreeBSD.org> |
Refine r330113 to honor the ProducerConsumer flag most of the time. While it is true that the ACPI spec says that the flag is only valid on Extended Address Space Descriptors, examples of other descriptors in the spec use the ProducerConsumer flag explicitly, and real hardware uses it as well. In fact, even in the ASL of the Thunder X2 for which r330113 was a workaround, some devices use this flag on non-Extended Address Space Descriptors correctly. Instead, only ignore the flag for resources associated with the UART devices on the Thunder X2 using the "ARMH0011" HID to identify these devices. This should fix regressions from ignoring this flag in other contexts such as Hyper-V. PR: 235876 Reported by: Wei Hu <weh@microsoft.com> Tested by: emaste (Thunder X2) MFC after: 2 weeks
|
#
f916d057 |
|
18-Nov-2018 |
Jayachandran C. <jchandra@FreeBSD.org> |
pci_host_generic, acpi_resource: drop unneeded code Now that we are handling PCI resources in pci_host_generic_acpi.c, we don't need these change (made by r336129) Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D17792
|
#
d4d6ad3f |
|
18-Nov-2018 |
Jayachandran C. <jchandra@FreeBSD.org> |
acpica: rework INTRNG interrupts On arm64 (where INTRNG is enabled), the interrupts have to be mapped with ACPI_BUS_MAP_INTR() before adding them as resources to devices. The earlier code did the mapping before calling acpi_set_resource(), which bypassed code that checked for PCI link interrupts. To fix this, move the call to map interrupts into acpi_set_resource() and that requires additional work to lookup interrupt properties. The changes here are to: * extend acpi_lookup_irq_handler() to lookup an irq in the ACPI resources * create a helper function acpi_map_intr() which uses the updated acpi_lookup_irq_handler() to look up an irq, and then map it with ACPI_BUS_MAP_INTR() * use acpi_map_intr() in acpi_pcib_route_interrupt() to map pci link interrupts. With these changes, we can drop the ifdefs in acpi_resource.c, and we can also drop the call for mapping interrupts in generic_timer.c Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D17790
|
#
5efca36f |
|
25-Oct-2018 |
Takanori Watanabe <takawata@FreeBSD.org> |
Distinguish _CID match and _HID match and make lower priority probe when _CID match. Reviewed by: jhb, imp Differential Revision:https://reviews.freebsd.org/D16468
|
#
db2156bc |
|
09-Jul-2018 |
Wojciech Macek <wma@FreeBSD.org> |
ARM64: Add support for ThunderX2 PCIe Submitted by: Patryk Duda <pdk@semihalf.com> Obtained from: Semihalf Sponsored by: Cavium Differential revision: https://reviews.freebsd.org/D15141
|
#
eb33d8ce |
|
18-Apr-2018 |
John Baldwin <jhb@FreeBSD.org> |
Workaround fixed I/O port resources encoded as I/O port ranges in _CRS. ACPI I/O port descriptors use _MIN and _MAX fields to specify the set of allowable base (start) addresses for an I/O port resource along with a _LEN field specifying the length. A fixed resource is supposed to be encoded with _MIN == _MAX, but some buggy firmwares instead set _MAX to the end of the fixed range. Relocating I/O ranges only make sense in _PRS (possible resource settings), not in _CRS (current resource settings), so if an I/O port range with _MAX set set to the end of the range is present in _CRS, treat it as a fixed I/O port resource starting at _MIN. PR: 224096 Submitted by: Harald Böhm <harald@boehm.codes> Pointy hat to: jhb (taking so long to actually commit this) MFC after: 1 week
|
#
3d9294b0 |
|
28-Feb-2018 |
Andrew Turner <andrew@FreeBSD.org> |
Only check the ProducerConsumer flag on extended memory. As per the ACPI 6.0 spec 6.4.3.5 bit 0 is ignored on QWord, DWord, and Word Address Space Descriptors, but not Extended Address Space Descriptors. Reviewed by: jhb Sponsored by: DARPA, AFRL Sponsored by: Cavium (Hardware) Differential Revision: https://reviews.freebsd.org/D14516
|
#
224c3776 |
|
11-Jan-2018 |
Andrew Turner <andrew@FreeBSD.org> |
Add the start of INTRNG support for ACPI. This adds a new acpi_bus interface with a map_intr method. This is similar to the Open Firmware map_intr method and allows us to create the needed mapping from ACPI space to INTRNG space. Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D8617
|
#
2dd1bdf1 |
|
26-Jan-2016 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Convert rman to use rman_res_t instead of u_long Summary: Migrate to using the semi-opaque type rman_res_t to specify rman resources. For now, this is still compatible with u_long. This is step one in migrating rman to use uintmax_t for resources instead of u_long. Going forward, this could feasibly be used to specify architecture-specific definitions of resource ranges, rather than baking a specific integer type into the API. This change has been broken out to facilitate MFC'ing drivers back to 10 without breaking ABI. Reviewed By: jhb Sponsored by: Alex Perez/Inertial Computing Differential Revision: https://reviews.freebsd.org/D5075
|
#
c0753890 |
|
31-Mar-2014 |
Warner Losh <imp@FreeBSD.org> |
Turns out name was used here when ACPI_DEBUG was defined, so refine my previous patch.
|
#
8a27a339 |
|
30-Mar-2014 |
Warner Losh <imp@FreeBSD.org> |
Remove instances of variables that were set, but never used. gcc 4.9 warns about these by default.
|
#
9a7bf07c |
|
16-Jul-2013 |
John Baldwin <jhb@FreeBSD.org> |
Workaround some broken BIOSes that specify edge-sensitive but active-low settings for ACPI-enumerated serial ports by forcing any IRQs that use an ISA IRQ value with these settings to active-high instead of active-low. This is known to occur with the BIOS on an Intel D2500CCE motherboard. Tested by: Robert Ames <robertames@hotmail.com>, lev Submitted by: Juergen Weiss weiss at uni-mainz.de (original patch)
|
#
61bfd867 |
|
30-Jan-2013 |
Sofian Brabez <sbz@FreeBSD.org> |
Use DEVMETHOD_END macro defined in sys/bus.h instead of {0, 0} sentinel on device_method_t arrays Reviewed by: cognet Approved by: cognet
|
#
4c2ed94f |
|
21-Jun-2011 |
John Baldwin <jhb@FreeBSD.org> |
Fix build with ACPI_DEBUG defined. Submitted by: jkim Pointy hat to: jhb
|
#
4fc477aa |
|
21-Jun-2011 |
John Baldwin <jhb@FreeBSD.org> |
Use AcpiWalkResources() to parse the resource list from _CRS rather than using a home-rolled loop. While here, add support for 64-bit address range resources. Silence on: acpi@ (older version)
|
#
f6c05906 |
|
14-Feb-2011 |
Jung-uk Kim <jkim@FreeBSD.org> |
Rework r218685. Copy just enough data for the resource type. Reviewed by: jhb, mdf
|
#
224e25e1 |
|
14-Feb-2011 |
Matthew D Fleming <mdf@FreeBSD.org> |
Prevent reading from the ACPI_RESOURCE past its actual end. For paranoia limit to the size of the ACPI_RESOURCE as well. Reviewd by: jhb (in spirit) MFC after: 1 week
|
#
a7d5f7eb |
|
19-Oct-2010 |
Jamie Gritton <jamie@FreeBSD.org> |
A new jail(8) with a configuration file, to replace the work currently done by /etc/rc.d/jail.
|
#
129d3046 |
|
05-Jun-2009 |
Jung-uk Kim <jkim@FreeBSD.org> |
Import ACPICA 20090521.
|
#
aaac7452 |
|
02-Jun-2009 |
Jung-uk Kim <jkim@FreeBSD.org> |
Chase ACPICA API changes (for kernel and boot loader).
|
#
d7f03759 |
|
19-Oct-2008 |
Ulf Lilleengen <lulf@FreeBSD.org> |
- Import the HEAD csup code which is the basis for the cvsmode work.
|
#
2be4e471 |
|
22-Mar-2007 |
Jung-uk Kim <jkim@FreeBSD.org> |
Catch up with ACPI-CA 20070320 import.
|
#
da72d149 |
|
06-May-2006 |
Nate Lawson <njl@FreeBSD.org> |
Don't attach special devices in the order they appear in the AML tree. If the embedded controller exists before the sysresource devices, for example, it will be attached first. Instead, let the normal device order function work as we first desired. [1] There still remained a problem where we couldn't allocate resources in acpi0 that were passed up by the sysresource pseudo-devices. These devices had to probe/attach first to give their resources to acpi, then acpi would allocate them before probing/attaching other devices. To work around this, we attach them from acpi_sysres_alloc(). A better approach would be to implement multi-pass probe/attach in newbus but that's a much bigger task. Suggested by: jhb [1] Hardware from: Centaur Technologies MFC after: 1 week
|
#
3a6497c1 |
|
07-Nov-2005 |
John Baldwin <jhb@FreeBSD.org> |
*sigh* Revert stuff that wasn't supposed to be committed. The acpi_resource change was a minor nit offered as an early candidate for the recent ACPICA import problem and the acpi.c change is one I need to test still that makes the ordered probing of system devices actually work as advertised (probe devices in order based on the type of device rather than in the order we encounter them in the device tree).
|
#
f25bdd3b |
|
07-Nov-2005 |
John Baldwin <jhb@FreeBSD.org> |
Work around at least one busted BIOS. If we get a source index in a _PRT entry that is not zero, assume that it is really a hard-wired IRQ (commonly used for APIC routing) and not a source index. In practice, we've only ever seen source indices of 0 for legitimate non-hard-wired _PRT entries. Reviewed by: njl Tested by: Alex Lyashkov shadow at psoft dot net MFC after: 2 weeks
|
#
e8d472a7 |
|
01-Nov-2005 |
Jung-uk Kim <jkim@FreeBSD.org> |
Catch up with ACPI-CA 20051021 import
|
#
2a191126 |
|
11-Sep-2005 |
David E. O'Brien <obrien@FreeBSD.org> |
Canonize the include of acpi.h.
|
#
be1bf4d2 |
|
18-Mar-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
s/SLIST/STAILQ/ /imp/a\ pointy hat .
|
#
b0977ecf |
|
18-Jan-2005 |
John Baldwin <jhb@FreeBSD.org> |
Don't create new-bus resources for ACPI extended IRQ resources that are producers rather than consumers as new-bus resources only handle consumed resources. We already do this for the other ACPI resource types that support the producer/consumer attribute.
|
#
d05fa56b |
|
26-Dec-2004 |
Nate Lawson <njl@FreeBSD.org> |
Remove trailing whitespace.
|
#
adad4744 |
|
23-Aug-2004 |
Nate Lawson <njl@FreeBSD.org> |
Rework sysresource management. Instead of having each sysresource object hold its own values, pass them up to the parent (acpi0) and merge/uniq them on the way. After the namespace evaluation, acpi will reserve these resources and manage them via rman before bus_generic_probe() and bus_generic_attach(). This is necessary because some systems specify conflicting resources in separate sysresource objects. It's also cleaner in that the interface between sysresource and acpi is now merely the parent's resource list. This code handles the following cases: 1. Unique resource: add it to the parent via bus_set_resource(). 2. New wholly contained in old: discard new. 3. New tail overlaps old head: grow old head downward. AND/OR 4. New head overlaps old tail: grow old tail upward. Tested by: Pawel Worach <sajd_at_telia.com> Tested by: Radek Kozlowski <radek_at_raadradd.com> MFC after: 5 days
|
#
1531578c |
|
20-Aug-2004 |
Nate Lawson <njl@FreeBSD.org> |
Use the new start for the offset, not the old end.
|
#
d22e9c6e |
|
20-Aug-2004 |
Nate Lawson <njl@FreeBSD.org> |
Correctly handle BIOS resources that are duplicated (!). There are many systems that have overlapping regions specified in their sysresource objects. This patch fixes ATA DMA and acpi_timer allocation for such sysctems. It should eventually be moved to resource_list_add() if it is a valid generalized approach. The minimal approach for 5.3 is: "Loop through all current resources to see if the new one overlaps any existing ones. If so, the old one always takes precedence and the new one is adjusted (or rejected). We check for three cases: 1. Tail of new resource overlaps head of old resource: truncate the new resource so it is contiguous with the start of the old. 2. New resource wholly contained within the old resource: error. 3. Head of new resource overlaps tail of old resource: truncate the new resource so it is contiguous, following the old." Tested by: Radek Kozlowski <radek_at_raadradd.com> Discussed with: imp MFC after: 4 days
|
#
cece02d7 |
|
13-Aug-2004 |
Nate Lawson <njl@FreeBSD.org> |
MPSAFE locking: Add a comment that we need resource list and device_t refcounting/locking.
|
#
5fcc8a58 |
|
29-Jun-2004 |
Nate Lawson <njl@FreeBSD.org> |
Use the acpi_id_probe() method instead of acpi_MatchHid(), which is now static.
|
#
95957f62 |
|
23-Jun-2004 |
John Baldwin <jhb@FreeBSD.org> |
- Defer BUS_CONFIG_INTR() on ACPI IRQ resources until the resources are actually used. For most ACPI devices this means deferring the call until bus_alloc_resource(). - Add a function acpi_config_intr() to call BUS_CONFIG_INTR() for an ACPI IRQ resource using the trigger mode and polarity information stored in the ACPI resource object. - Add a function acpi_lookup_irq_resource() to lookup the ACPI IRQ resource that corresponds to a specified rid and new-bus resource. - Have the ACPI PCI bridge driver call BUS_CONFIG_INTR() on interrupts that it routes through link devices. - Remove needactivate variable from acpi_alloc_resource() by changing the function not modify the flags variable but just mask off RF_ACTIVE when calling rman_reserve_resource(). Reviewed by: njl (1, an earlier version)
|
#
91233413 |
|
13-Jun-2004 |
Nate Lawson <njl@FreeBSD.org> |
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.
|
#
fe12f24b |
|
30-May-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add missing <sys/module.h> includes
|
#
64278df5 |
|
09-Apr-2004 |
Nate Lawson <njl@FreeBSD.org> |
Add MODULE_DEPEND entries so some of these drivers can eventually be loaded separately from ACPI (i.e., embedded use).
|
#
72ad60ad |
|
31-Mar-2004 |
Nate Lawson <njl@FreeBSD.org> |
Add an interface to pass an argument to the resource parsing functions. This is just groundwork for changing sysresource behavior. PR: Submitted by: Reviewed by: Approved by: Obtained from: MFC after:
|
#
5f96beb9 |
|
17-Mar-2004 |
Nate Lawson <njl@FreeBSD.org> |
Convert callers to the new bus_alloc_resource_any(9) API. Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde
|
#
656b9dd5 |
|
25-Sep-2003 |
Nate Lawson <njl@FreeBSD.org> |
Consistently print attach messages.
|
#
24752c42 |
|
10-Sep-2003 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Extend the ACPI resource handling to make use of the BUS_CONFIG_INTR() method. This is necessary on ia64 where it's known that serial interfaces described in the ACPI namespace may not have the well-known IRQs assigned to them. This confuses us in thinking they are PCI based interrupts and wrongly program the APIC.
|
#
be2b1797 |
|
28-Aug-2003 |
Nate Lawson <njl@FreeBSD.org> |
Style and whitespace changes. Also, make the ivar functions non-inline since inlining failed due to the size of BUS_*
|
#
aad970f1 |
|
24-Aug-2003 |
David E. O'Brien <obrien@FreeBSD.org> |
Use __FBSDID(). Also some minor style cleanups.
|
#
991fcff5 |
|
22-Dec-2002 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Fix a De Morgan bug: If we only expect a memory range OR an I/O port range, then we should ignore a resource if it's NOT a memory range AND NOT an I/O port range. The OR in the condition caused us to ignore perfectly valid memory addresses. While here, remove redundant parenthesis and reindent the debug print to avoid long lines.
|
#
f5e283f2 |
|
03-Oct-2002 |
Peter Wemm <peter@FreeBSD.org> |
Oops, missed this one. Fix a printf format error on 64 bit systems where sizes are long instead of int.
|
#
b4a05238 |
|
19-May-2002 |
Peter Wemm <peter@FreeBSD.org> |
Brutally deal with __func__ being 'const char *' on gcc-3.1.
|
#
741ef403 |
|
22-Feb-2002 |
Mike Smith <msmith@FreeBSD.org> |
Match namespace cleanup changes in ACPI CA 20020217 update. Use ACPI_SUCCESS/ACPI_FAILURE consistently. The AcpiGetInto* interfaces are obsoleted by ACPI_ALLOCATE_BUFFER.
|
#
85dff349 |
|
31-Jan-2002 |
Takanori Watanabe <takawata@FreeBSD.org> |
Fix irq/drq handling. IRQ and DRQ resource information can be get in one object for one resource. Array of values in a object means possible values for the object.
|
#
3273b005 |
|
07-Jan-2002 |
Mike Smith <msmith@FreeBSD.org> |
Staticise devclasses and some unnecessarily global variables.
|
#
cb97ee57 |
|
06-Sep-2001 |
Mike Smith <msmith@FreeBSD.org> |
Allocate system resource IRQs as shareable; this is the typical case.
|
#
2a4684aa |
|
31-Aug-2001 |
Mike Smith <msmith@FreeBSD.org> |
Don't claim memory resources owned by a PNP0C01 device ("system memory") as some systems claim the entire physical address space is owned by it.
|
#
05c03ed9 |
|
31-Aug-2001 |
Mike Smith <msmith@FreeBSD.org> |
Don't activate placeholder resources; it can be very expensive in the SYS_RES_MEMORY case, and it shouldn't be necessary.
|
#
832183ba |
|
29-Aug-2001 |
Mike Smith <msmith@FreeBSD.org> |
Retarget the resource parser slightly. We only fetch current resources for the device now (we should really just be parsing a passed-in resource buffer). Wrap long lines so this is (more) readable. Support Address16 and Address32 resources, in the CONSUMER case. Support DRQs so that we can handle ISA devices. Support ExtendedIrqs (we ignore most of their attributes) Add a placeholder device for system memory and system resources. This takes the place of the nexus placeholder, which only attaches to ISA.
|
#
4c1cdee6 |
|
26-Aug-2001 |
Mike Smith <msmith@FreeBSD.org> |
Updates to match the ACPI CA 20010816 import: - New debug macro (ACPI_DEBUG_PRINT), reducing debug-case code size. - New debug level/subsystem codes.
|
#
bfae45aa |
|
21-Jul-2001 |
Mike Smith <msmith@FreeBSD.org> |
Convert from acpi_strerror() to AcpiFormatException() Fix dangling include of the dear departed acpi_ecreg.h
|
#
e71b6381 |
|
29-Jun-2001 |
Mike Smith <msmith@FreeBSD.org> |
Update for new debug layer constant names in the ACPI CA 20010615 import.
|
#
2a4ac806 |
|
29-May-2001 |
Mike Smith <msmith@FreeBSD.org> |
- Updates for new constant naming in the ACPI CA 20010518 update. - Use __func__ instead of __FUNCTION. - Support power-off to S3 or S5 (takawata) - Enable ACPI debugging earlier (with a sysinit) - Fix a deadlock in the EC code (takawata) - Improve arithmetic and reduce the risk of spurious wakeup in AcpiOsSleep. - Add AcpiOsGetThreadId. - Simplify mutex code (still disabled).
|
#
0ae55423 |
|
08-Dec-2000 |
Mike Smith <msmith@FreeBSD.org> |
- Convert a lot of homebrew debugging output to use the ACPI CA debugging infrastructure. It's not perfect, but it's a lot better than what we've been using so far. The following rules apply to this: o BSD component names should be capitalised o Layer names should be taken from the non-CA set for now. We may elect to add some new BSD-specific layers later. - Make it possible to turn off selective debugging flags or layers by listing them in debug.acpi.layer or debug.acpi.level prefixed with !. - Fully implement support for avoiding nodes in the ACPI namespace. Nodes may be listed in the debug.acpi.avoid environment variable; these nodes and all their children will be ignored (although still scanned over) by ACPI functions which scan the namespace. Multiple nodes can be specified, separated by whitespace. - Implement support for selectively disabling ACPI subsystem components via the debug.acpi.disable environment variable. The following components can be disabled: o bus creation/scanning of the ACPI 'bus' o children attachment of children to the ACPI 'bus' o button the acpi_button control-method button driver o ec the acpi_ec embedded-controller driver o isa acpi replacement of PnP BIOS for ISA device discovery o lid the control-method lid switch driver o pci pci root-bus discovery o processor CPU power/speed management o thermal system temperature detection and control o timer ACPI timecounter Multiple components may be disabled by specifying their name(s) separated by whitespace. - Add support for ioctl registration. ACPI subsystem components may register ioctl handlers with the /dev/acpi generic ioctl handler, allowing us to avoid the need for a multitude of /dev/acpi* control devices, etc.
|
#
15e32d5d |
|
28-Oct-2000 |
Mike Smith <msmith@FreeBSD.org> |
Initial FreeBSD OSPM (operating system power management) modules for ACPICA. Most of these are still works in progress. Support exists for: - Fixed feature and control method power, lid and sleep buttons. - Detection of ISA PnP devices using ACPI namespace. - Detection of PCI root busses using ACPI namespace. - CPU throttling and sleep states (incomplete) - Thermal monitoring and cooling control (incomplete) - Interface to platform embedded controllers (mostly complete) - ACPI timer (incomplete) - Simple userland control of sleep states. - Shutdown and poweroff.
|