Remove the ACPI information from the website.

Moved to https://wiki.freebsd.org/ACPI

PR:		216754
Submitted by:	avg@
Patch by:	carlavilla@
Approved by:	bcr@
Differential Revision:	https://reviews.freebsd.org/D22903
This commit is contained in:
Sergio Carlavilla Delgado 2019-12-22 14:27:13 +00:00
parent 9d3aeccf69
commit 40265d9402
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=53706
5 changed files with 1 additions and 973 deletions

View file

@ -21,6 +21,6 @@ DATA+= 2018-freebsd-gsoc.pdf
INDEXLINK= projects.html
SUBDIR= acpi busdma ideas mips netperf
SUBDIR= busdma ideas mips netperf
.include "${DOC_PREFIX}/share/mk/web.site.mk"

View file

@ -1,18 +0,0 @@
# ACPI project page
#
# $FreeBSD$
MAINTAINER= marks
.if exists(../Makefile.conf)
.include "../Makefile.conf"
.endif
.if exists(../Makefile.inc)
.include "../Makefile.inc"
.endif
DOCS= index.xml
DOCS+= completed.xml
DATA= style.css
.include "${DOC_PREFIX}/share/mk/web.site.mk"

View file

@ -1,449 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD ACPI completed projects">
<!ENTITY email 'marks'>
<!ENTITY acpi-mail 'freebsd-acpi@FreeBSD.org'>
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<h2>Completed Project List</h2>
<table class="tblbasic">
<tr>
<td>Add methods to get/set ints
acpi_EvaluateInteger only gets an int. Update api to get/set
so that every consumer does not end up defining their own.</td>
<td>&a.marks;</td>
</tr>
<tr>
<td>Fix getenv_string. Does not seem to work in
sys/dev/acpica/Osd/OsdTable.c. Turned out the name
should not end in "_name".</td>
<td>&a.marks; and &a.grehan;</td>
</tr>
<tr>
<td>acpi_video manpage. See appendix B of the ACPI 2.0
spec for info on what this driver does as well as look
at the sysctls it exports.</td>
<td>&a.marks;</td>
</tr>
<tr>
<td>fd0 not working on Intel boards. The floppy device did not
work due to the _CRS object on some systems splitting the IO
port into three 2 port resources (6 ports total). Fix committed
to sys/isa/fd.c to work with this type of resource
specification.</td>
<td>&a.njl; and &a.jhb;</td>
</tr>
<tr>
<td>Some BIOSs use 0x3f2-0x3f5 as the port range
-- the real range is 0x3f0-0x3f5, 0x3f7. Workaround
committed.</td>
<td>&a.imp;</td>
</tr>
<tr>
<td>ACPI Debugging Handbook Page --
Introduction to ACPI for new users as well as how to assist
us in fixing problems as they arise.</td>
<td>&a.njl; and &a.trhodes;</td>
</tr>
<tr>
<td>acpi_video driver (njl) -- Imported.</td>
<td>&a.njl; and Taku YAMAMOTO (driver author)</td>
</tr>
<tr>
<td>BIOS blacklist -- implement a mechanism and specific
quirks to disable features or ACPI entirely on known
broken systems. If a custom DSDT is loaded, do not
check it against the blacklist (since a user may fix
the DSDT without changing the vendor/revision fields.) Add
blacklist option for disabling acpi on certain
systems.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>acpi_toshiba man page -- Driver submitted by Hiroyuki Aizu
and committed. All it needs is someone to try it out and
document the sysctls.</td>
<td>&a.philip;</td>
</tr>
<tr>
<td>Invalid PBLK length workaround -- Accept a PBLK of length 5
(spec says 6). Only enable C2 for this though. Some people
may be using 7 to indicate another C3 state but we do not
support the extra state.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Check EcSpacehandler to make sure it is correct for
multi-byte access. Found off-by-one in that the last
address (0xff) could never be written or read.</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Pick a default MS OS to claim -- Too much ASL depends on
a MS OS string so we should masquerade as the most accurate
one. Picked Win2k&trade; ("Microsoft Windows NT&trade;"),
then reverted once _OSI support was available. ACPI-CA still
has a default of "Microsoft Windows NT&trade;".</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Handle DPF resource types in acpi_pcib.c -- Some _PRS values
are bracketed with start/end dependent function resource
descriptors. Parse/skip them to fix PCI IRQ routing.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>acpi_toshiba updates -- Implement support for DSSX which
appears to be the only way to do display switching (other
than acpi_video).</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>ASUS driver -- Driver for ASUS ACPI extras (hotkeys).
Similar to the acpi4asus.sf.net Linux project.</td>
<td>&a.philip;</td>
</tr>
<tr>
<td>Fix sysctls for debug layer/level -- setting from usermode
via a sysctl did not work.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Make lid and sleep button sysctls default to
min(supported_states) -- lid switch now defaults to
NONE, sleep button to minimum sleep state available.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>newbus attachments for cpu -- Get cpu devices under
newbus so drivers like cpufreq can probe/attach.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Make CPU cx_lowest sysctl more readable -- Use C[1-9]
instead of the index value.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Update EC GLK check -- Use the handle from the table to
read _GLK instead of always defaulting to using the global
lock.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Merge ECDT/EC probe</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>_INI methods -- run for all devices, not just Device
objects. ACPI-CA now calls _INI for Devices,
ThermalZones and Processors.</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Fix acpidump failing on several systems -- acpidump(8) fails
on some systems. I suspect this may be in how we search low
memory for the RSDP. Changed to only search EBDA (1 KB
pointed to by 16 bit pointer at 0x40E) and high memory
(0xE0000 - 0xFFFFF) according to the spec
(section 5.2.2).</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Fix apm compat interface -- Hacked around this in the
userland utility by marking values &gt;= 255 as
"unknown".</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Update GPE code to handle general device wake -- Also,
disable GPEs that are not valid when entering a new sleep
state. Without this, GPEs for the lid left enabled on a
Thinkpad&trade; X22 restart the system after power off.
Add userland interface for enabling device wake (done as
per-device sysctls).</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Fix shutdown routines to not poke all the events (causes
auto power on for some people). Workaround is to set
hw.acpi.disable_on_poweroff="0". Now that GPEs are properly
disabled based on _PRW during suspend and poweroff, we can
hopefully remove the call to acpi_Disable() in the poweroff
path. We now handle the reboot case also by hooking
device_shutdown().</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Cleanup acpidump/boot EBDA lengths.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Fix acpi_cpu busy refcount -- We no longer use a refcount
but instead avoid doing any housekeeping after re-enabling
interrupts at the end of acpi_cpu_idle(). Otherwise, the
context switch after unmasking ints could disrupt device
state.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Do not print an error message for _PR0 method -- If not
present, do not print an error in switch_consumer.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>acpi sysresource probing -- Probe/attach acpi resources
in the acpi bus and then dole it out to children as necessary.
Requires rman(9). Includes more sophisticated handling of
device ordering in scan.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Update ACPI blacklist -- Read entries from various OS's
and add them to our blacklist table.</td>
<td>&a.njl;, &a.marks;</td>
</tr>
<tr>
<td>Fix general wake code -- remove use of device_t flags as
they may collide with the driver. Use an acpi ivar
instead. Fix for non-acpi devices as well by using a bus
walk routine instead of device_suspend. Add code to turn
on appropriate power resources. Disable EC in shutdown
path.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Fix drivers and the apm compat interface -- Currently,
the apm compat interface expects byte values but the ABI used
is a set of u_ints and an int. Either the apm or acpi battery
drivers (or both) are setting the value to -1,
which results in 0xffffffff being passed back as the current
state. Really, only 255 should be returned in this case.
The apm userland utility marks values &gt;= 255 as "unknown"
to work around this. But really the underlying drivers should
be fixed.</td>
<td>&a.imp;</td>
</tr>
<tr>
<td>Fix EC timeouts -- move to a sx lock to cover EcWait instead
of a mutex so we can hold it across msleep. This fixed the
timed out errors that occurred occasionally for some
users.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Package all info on how to do an ACPI import -- done and
handed off to &a.marks; for inclusion in the acpi projects
website.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>ACPI floppy driver probing -- Add a fdc_acpi_probe method
to enumerate floppies using _FDE, _FDI methods.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Rework ACPI PCI link support -- _DIS all links, ignore
invalid _CRS, ignore _STA, assume _SRS succeeds.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Fix EISA probe not to write to registers. Turns out an
inb actually triggers the boot hang. Patch committed to
only probe the first slot; however, this breaks the Adaptec
VLB adapter (not EISA). &a.gibbs; is fixing that device's
probe. Done.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Giant-free locking -- Remove dependency on Giant.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Add SSDT support to acpidump(8) -- Right now we only dump
the fixed tables and DSDT. Change acpidump(8) to dump the
SSDT tables. It currently concatenates them with the
DSDT.</td>
<td>&a.marcel;</td>
</tr>
<tr>
<td>Change shutdown path -- do not use smp_rendezvous() since
it acquires a spinlock. Instead, MI code should run the
shutdown path only on the BSP and all other processors should
be halted.</td>
<td>&a.peter;</td>
</tr>
<tr>
<td>Turn ACPI and PCI devices off or to a lower power state in
suspend and back on again in resume. Override the default of
D3 with the value the BIOS specifies in _SxD, if present. Skip
serial devices (PNP05xx) since they seem to hang when set to
D3 and may require special driver support. Also skip non-type
0 PCI devices (i.e., bridges) since they don't seem to handle
being powered off.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Giant-free locking.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>newbus attachments for cpu &mdash; get cpu devices under
newbus so drivers like cpufreq can probe/attach.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Write initial drivers: ICH SpeedStep, ACPI performance,
ACPI throttling, Enhanced SpeedStep, P4 TCC.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Add bus methods/ivars for child attachments to both acpi
and legacy cpu devices</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Design sysctl interface.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Design notify interface for Px changes.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Update power_profile to use cpufreq.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Import powerd.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Fujitsu driver -- Driver for Fujitsu laptop extras. Just needs
to be cleaned up (use acpi_UserNotify instead of the signal
stuff) and imported.</td>
<td>&a.marks;</td>
</tr>
<tr>
<td>IBM Thinkpad extras driver -- Driver for Thinkpad hotkeys.</td>
<td>&a.takawata;</td>
</tr>
<tr>
<td>Call _S0D on resume (power up?).</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Implement the int 10h resume hack that Linux has since we do
not have that yet. It is unclear how effective it is but some
systems do require it.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Check our DWORD access to EC regions, including endianness.
Currently, we treat DWORD access as little-endian, which makes
sense on PCs. It's really not correct to do use access other than
BYTE for EC space but some ASL uses DWORD. Also, we should test
what happens for AnyAccess reads/writes to EC space since some
ASL does this too. The existing implementation seems correct.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Implement passive cooling in ACPI thermal. It should use the
cpufreq interface to cool the processor, based on the various _PSV
settings. Also, we need to implement variable polling intervals
for thermal zones based on both the passive settings and polling
explicitly specified in the ASL.</td>
<td>&a.ume;</td>
</tr>
<tr>
<td>Fix stray irq 9 on reboot --
AcpiTerminate -&gt; AcpiEvTerminate unhooks the SCI and then we
get a stray irq. Debug why. Also, disable/ re-enable acpi gives
"SCI already attached". Check flags for AcpiDisable vs.
AcpiTerminate. This looks uncommon and does not cause any problems
so it will be ignored for now.</td>
<td>&a.njl;</td>
</tr>
<tr>
<td>Add smart battery support -- Smart batteries use the SMBus
to communicate data instead of the embedded controller for
control-method batteries. Newer ACER laptops have this and
it will be needed for battery status on them. This is rather
difficult since it involves interfacing with the SMBus drivers
(likely need some kobj methods for this.)</td>
<td>&a.njl;</td>
</tr>
</table>
</body>
</html>

View file

@ -1,467 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
"http://www.FreeBSD.org/XML/share/xml/xhtml10-freebsd.dtd" [
<!ENTITY title "FreeBSD ACPI project">
<!ENTITY email 'marks'>
<!ENTITY acpi-mail 'freebsd-acpi@FreeBSD.org'>
<!-- Status levels -->
<!ENTITY status.na "<font xmlns='http://www.w3.org/1999/xhtml' color='green'>N/A</font>">
<!ENTITY status.done "<font xmlns='http://www.w3.org/1999/xhtml' color='green'>Done</font>">
<!ENTITY status.wip "<font xmlns='http://www.w3.org/1999/xhtml' color='blue'>In progress</font>">
<!ENTITY status.untested "<font xmlns='http://www.w3.org/1999/xhtml' color='orange'>Needs testing</font>">
<!ENTITY status.new "<font xmlns='http://www.w3.org/1999/xhtml' color='red'>Not done</font>">
<!ENTITY status.unknown "<font xmlns='http://www.w3.org/1999/xhtml' color='red'>Unknown</font>">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>&title;</title>
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
</head>
<body class="navinclude.developers">
<h2>Contents</h2>
<ul>
<li><a href="#description">Description</a></li>
<li><a href="#todo-list">TODO List</a></li>
<li><a href="#platform-status">Platform Support Status</a></li>
<li><a href="#references">References</a></li>
</ul>
<a name="description"></a>
<h2>Description</h2>
<p>The acpi driver provides support for the Intel/Microsoft/Compaq/Toshiba
ACPI standard. This support includes platform hardware discovery (superseding
the PnP and PCI BIOS), as well as power management (superseding
APM) and other features. ACPI core support is provided by the ACPI-CA
reference implementation from Intel.</p>
<p>Information on using and debugging ACPI can be found in the
<a href="/doc/en_US.ISO8859-1/books/handbook/acpi-debug.html">
handbook entry</a> and
<a href="&cgibase;/man.cgi?query=acpi&amp;sektion=4&amp;format=html">man page</a>.</p>
<p>If you are looking for the list of completed projects not located
on this page, it can be found
<a href="completed.html">here</a>.</p>
<a name="todo-list"></a>
<h2>TODO List</h2>
<a name="high-priority"></a>
<h3>High Priority Tasks</h3>
<table class="tblbasic">
<thead>
<tr>
<th> Task </th>
<th> Responsible </th>
<th> Last updated </th>
<th> Priority </th>
<th> Notes </th>
</tr>
</thead>
<tbody>
<tr>
<td> Save/Restore PCI capabilities lists and MSI config space </td>
<td> &a.njl; </td>
<td> August 3, 2006 </td>
<td> &status.wip; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Investigate disabling the LAPIC timer when using ACPI C2-3
states. Otherwise, the system hangs and no timer interrupts
occur while idle.</td>
<td> &nbsp; </td>
<td> August 3, 2006 </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
</tbody>
<tbody>
<tr>
<th scope="rowgroup" colspan="0"> <em>acpi_cpu &mdash; Finish
work on CPU driver</em> </th>
</tr>
<tr>
<td> _CST re-evaluation </td>
<td> &a.njl; </td>
<td> December 4, 2004 </td>
<td> &status.new; </td>
<td> Needs testing/debugging </td>
</tr>
<tr>
<td> Fix shared user of a P_BLK (refcount) </td>
<td> &a.njl; </td>
<td> December 4, 2004 </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Disable acpi_cpu taking over idling if only
C1 available </td>
<td> &a.njl; </td>
<td> December 4, 2004 </td>
<td> &status.new; </td>
<td> I still want to keep acpi_cpu in the loop on SMP systems
so we should leave this as-is for now. </td>
</tr>
</tbody>
<tbody>
<tr>
<td> eject methods &mdash; implement eject and dynamic
reprobing of acpi namespace </td>
<td> &a.njl; </td>
<td> December 4, 2004 </td>
<td> &status.untested; </td>
<td> &nbsp; </td>
</tr>
</tbody>
</table>
<a name="medium-priority"></a>
<h3>Medium Priority Tasks</h3>
<table class="tblbasic">
<tbody>
<tr>
<td> Hotkey/backlight/sound generic driver -- Add a driver
that generalizes the various device-specific ways of
adjusting backlight, sound volume, hotkey support, etc.
It should provide generic sysctls for these and attach to
the hw-specific drivers (acpi_video, acpi_asus, acpi_toshiba,
etc.) </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
</tbody>
</table>
<a name="low-priority"></a>
<h3>Low Priority Tasks</h3>
<table class="tblbasic">
<tbody>
<tr>
<td> Implement X suspend/resume notification. Currently,
the X server on FreeBSD is not notified of a suspend.
We explicitly switch to a VTY on syscons before resume
to get the server to save and then restore all the registers.
This works for many systems but not if the display is left in
less initialized at resume than the VTY switch code can handle.
There is an interface (in the X server bsd_apm.c) for doing ioctls
to find out about the suspend. First, check if this file is
built on FreeBSD as it appears to only be built on NetBSD.
Then implement the ioctls in both apm and acpi (on the apm
compat device).
<a href="http://www.root.org/~nate/freebsd/bsd_apm.diff">Here is a
patch</a> to help the X file compile. For acpi, we do not want
a user process dying to hold up the suspend process so implement
the notification with a timeout. That is, if the kernel generates
a APM_STANDBY_REQ notification and it doesn't receive a
APM_IOC_STANDBY within say 5 seconds, continue the suspend process.
This is needed for standby when X is not running, for instance, or
when an emergency suspend is generated by a battery going
critical.</td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Examine the two video resume hacks (int 0x10, lcall 0xc000).
Linux has begun to test calling the "lcall" VESA reset after
PCI devices (including the video card) have been fully resumed,
including power state set to PS0. This works for many Radeon
cards but fails for others. We could implement this in vm86
calls from a proper video driver resume method. Investigate
integrate the techniques used by the <a
href="&cgibase;/url.cgi?ports/sysutils/radeontool/pkg-descr">Radeontool
port</a> in video resume.</td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> ACPI-CA should really enable GPEs before calling \_WAK.
Currently it does the opposite. This does not match the ACPI
spec where \_WAK should be called after the system is up
and running (\_BFS is what should be called as soon as
possible after waking.) </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Potential ASL bug: We may need to work around some systems
having the S3 object listed under the LPC bus device (PNP0A03)
instead of root (\). This is ACPI-CA's responsibility. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> For systems that fail to power off, try using the suspend code
(acpi_SetSleepState) instead. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> See if we can enable EC access early even if an ECDT is not
present. The _INI method for some ECs accesses the EC region
even though _REG has not been called since the region is not
initialized yet. It is likely that Windows hard-codes the EC
resources and enables the region before initializing the device
even though this is not allowed by the spec. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Implement reset register functionality for rebooting systems
that lack a keyboard controller (see ACPI v2 FADT->ResetRegister). </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Be sure not to try to disable ACPI on systems that do not have
SMI_CMD or ACPI_ENABLE/DISABLE values in the FADT. The ia64 machines
specify ACPI-only (no legacy mode) so they have 0 for these
values and we should not enable/disable ACPI on them. Doing so
gives a "failed to switch modes" warning but no real problems,
apparently. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Check our implementation of AcpiOsDerivePciId().
It is probably not quite right. Compare against Linux. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Run instructions on cpu0 for suspend/resume. We currently do
this for shutdown in kern_shutdown.c:boot(). This will also be
required for SMP cpufreq drivers that set the frequency via a
CPU-specific MSR. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Traverse local reference (scope) types in namespace when probing
devices. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Implement support for _PRS/_SRS and dependent functions.
This will allow serial port configuration to occur. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Add EC burst mode -- Code was written before to add burst mode to
the EC. Unfortunately, it had to be disabled since it did not
appear to work on all systems. Perhaps on some systems
do not function correctly without burst mode, so it will be added
back with some logic to fallback if it fails. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Intel firmware seems to describe the PCI root bridge where
chipset configuration space lives with _STA=="0x8". The spec
says this means "functional, but not present". The current
code ignores things that are "not present"
(<a href="https://sourceforge.net/mailarchive/message.php?msg_id=6923358">
msg</a>). It is suggested that this should be handled by not
attaching a driver to the device (i.e. bridge) but probe its children.
Present on Big Sur and Bull systems. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td>Re-work device wake setup to not be recursive.
The acpi_wake_sysctl_walk() syscall has to call itself to
handle child devices on other busses (PCI). This should
probably be changed to be a DEVMETHOD. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> device_power -- Add a "power" argument to devctl(8)
that allows a device to be set into various low power or
off states. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> device_eject -- Add a devctl(8) program that has an
"eject" argument. Allow users to eject various object
names ("/dev/cdrom", "/mnt/flashdrive", "wi0", "pci0:2:0").
Call the appropriate _EJD and _EJx methods if appropriate.</td>
<td> &a.imp;, &a.jhb;, and &a.takawata; </td>
<td> &nbsp; </td>
<td> &status.wip; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> suspend to disk -- Implement a suspend/resume from disk
mechanism. Possibly use the dump functions to dump pages to
disk, then use ACPI to put the system in S4 or power-off.
Resume would require changes to the loader to load the memory
image directly and then begin executing again. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> HP/Toshiba Satellite driver -- Enabling the extra
one-touch/multimedia keys, console blanking, battery and
temperature reporting, etc. Get an idea of what is needed from
the <a href="http://sourceforge.net/projects/omke/">Linux OMKE project
</a>. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> ASL capture bootable CD-R -- Build a set of scripts to
generate a bootable CD-R. It should have a GENERIC kernel
and acpidump/iasl as well as all support libraries. Replace
init with a script such that booting the CD generates an
acpidump -t -d &gt; machine.asl and dmesg &gt; machine.dmesg in
an MFS partition. Then burn this info to a second track on the
CD-R. This will make an easy way to take a batch of CDRWs to
the local computer store, place them in the CDRW drive, boot
FreeBSD and get the ASL. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> ASL Explorer -- Graphical utility for examining the output
of acpidump(8). Contact &a.njl; for info about the design if you
are interested in implementing this. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Document acpi kernel interfaces -- Document the interfaces
for drivers found in acpivar.h. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> KTR support for ACPI debug messages -- Use the KTR logging
facility instead of printf for ACPI debugging messages. This
would allow more verbose messages and fast dumping. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Add support for the real-time clock (RTC) to use to wake
or power-on systems at a certain time of day. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Quiesce USB when no device is attached (see Linux UHCI) --
this would help such systems use C3 more, saving power with
USB loaded. While at it, fix uhci suspend/resume. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
</tbody>
</table>
<a name="references"></a>
<h2>References</h2>
<ul>
<li><a href="http://acpi.info/spec.htm">Advanced
Configuration and Power Interface Specification</a></li>
</ul>
</body>
</html>

View file

@ -1,38 +0,0 @@
BODY {
}
BODY TD {
font-size: 13px;
}
BODY SMALL {
width: 615px;
font-size: 11px;
}
.heading {
font-size: 15px;
background-color: #cbd2ec;
}
.section {
font-size: 15px;
font-weight: bold;
background-color: #e7e9f7;
}
.notes {
font-size: 13px;
font-weight: normal;
}
.main {
width: 615px;
height: auto;
text-align: justify;
}
.list {
width: 550px;
height: auto;
}