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:
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
|
@ -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"
|
||||
|
|
|
@ -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"
|
|
@ -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> </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™ ("Microsoft Windows NT™"),
|
||||
then reverted once _OSI support was available. ACPI-CA still
|
||||
has a default of "Microsoft Windows NT™".</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> </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 >= 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™ 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 >= 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 — 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 -> 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>
|
|
@ -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&sektion=4&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> </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> </td>
|
||||
<td> August 3, 2006 </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="rowgroup" colspan="0"> <em>acpi_cpu — 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> </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 — implement eject and dynamic
|
||||
reprobing of acpi namespace </td>
|
||||
<td> &a.njl; </td>
|
||||
<td> December 4, 2004 </td>
|
||||
<td> &status.untested; </td>
|
||||
<td> </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> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </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> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </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> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </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> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </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> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> For systems that fail to power off, try using the suspend code
|
||||
(acpi_SetSleepState) instead. </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </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> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Implement reset register functionality for rebooting systems
|
||||
that lack a keyboard controller (see ACPI v2 FADT->ResetRegister). </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </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> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Check our implementation of AcpiOsDerivePciId().
|
||||
It is probably not quite right. Compare against Linux. </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </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> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Traverse local reference (scope) types in namespace when probing
|
||||
devices. </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Implement support for _PRS/_SRS and dependent functions.
|
||||
This will allow serial port configuration to occur. </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </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> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </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> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </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> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </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> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </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> </td>
|
||||
<td> &status.wip; </td>
|
||||
<td> </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> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </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> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </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 > machine.asl and dmesg > 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> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </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> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td> Document acpi kernel interfaces -- Document the interfaces
|
||||
for drivers found in acpivar.h. </td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </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> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </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> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </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> </td>
|
||||
<td> </td>
|
||||
<td> &status.new; </td>
|
||||
<td> </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>
|
|
@ -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;
|
||||
}
|
Loading…
Reference in a new issue