Commit Graph

79 Commits

Author SHA1 Message Date
kib
6006bf3a7d If x86 CPU implementation of the MWAIT instruction reasonably
interacts with interrupts, query ACPI and use MWAIT for entrance into
Cx sleep states.  Support C1 "I/O then halt" mode.  See Intel'
document 302223-007 "Intelб╝ Processor Vendor-Specific ACPI Interface
Specification" for description.

Move the acpi_cpu_c1() function into x86/cpu_machdep.c and use
it instead of inlining "sti; hlt" sequence in several places.

In the acpi(4) man page, besides documenting the dev.cpu.N.cx_methods
sysctl, correct the names for dev.cpu.N.{cx_usage,cx_lowest,cx_supported}
sysctls.

Both jkim and avg have some other patches implementing the mwait
functionality; this work is unrelated.  Linux does not rely on the
ACPI to provide correct tables describing Cx modes.  Instead, the
driver has pre-defined knowledge of the CPU models, it was supplied by
Intel.

Tested by:    pho (previous versions)
Sponsored by:	The FreeBSD Foundation
2015-05-09 12:28:48 +00:00
mav
e45f7634f9 Remove mostly obsolete hint to disable LAPIC timers.
It is partially covered by new code and partially by new CPUs.

PR:		195016
Submitted by:	tobias.rehbein@web.de
MFC after:	1 week
2014-11-14 22:01:14 +00:00
marcel
9f28abd980 Remove ia64.
This includes:
o   All directories named *ia64*
o   All files named *ia64*
o   All ia64-specific code guarded by __ia64__
o   All ia64-specific makefile logic
o   Mention of ia64 in comments and documentation

This excludes:
o   Everything under contrib/
o   Everything under crypto/
o   sys/xen/interface
o   sys/sys/elf_common.h

Discussed at: BSDcan
2014-07-07 00:27:09 +00:00
bapt
5da5395a98 use .Mt to mark up email addresses consistently (final part)
PR:		191174
Submitted by:	Franco Fichtner <franco at lastsummer.de>
2014-06-26 21:46:14 +00:00
brueffer
0acd6ae59d Fix markup and grammar. 2014-06-23 13:24:00 +00:00
iwasaki
d9c3f172f4 Add note on SYSCTL VARIABLES. 2014-06-22 02:48:27 +00:00
avg
42f51acbe7 acpi.4: machdep.cpu_idle_hlt no longer exists
MFC after:	1 week
2012-09-11 06:14:03 +00:00
jkim
7d706dc46f Merge ACPICA 20120816. 2012-08-16 20:54:52 +00:00
jkim
2ed237af62 Complete commit message for r235024:
Use MADT to match ACPI Processor objects to CPUs.  MADT and DSDT/SSDTs may
list CPUs in different orders, especially for disabled logical cores.  Now
we match ACPI IDs from the MADT with Processor objects, strictly order CPUs
accordingly, and ignore disabled cores.  This prevents us from executing
methods for other CPUs, e. g., _PSS for disabled logical core, which may not
exist.  Unfortunately, it is known that there are a few systems with buggy
BIOSes that do not have unique ACPI IDs for MADT and Processor objects.  To
work around these problems, 'debug.acpi.cpu_unordered' tunable is added.
Set this to a non-zero value to restore the old behavior.
Many thanks to jhb for pointing me to the right direction and the manual
page change.

Reported by:	Harris, James R (james dot r dot harris at intel dot com)
Tested by:	Harris, James R (james dot r dot harris at intel dot com)
Reviewed by:	jhb
MFC after:	1 month
2012-05-04 18:54:51 +00:00
jkim
cbd8dc582e Use MADT to match ACPI Processor objects to CPUs. MADT and DSDT/SSDTs may
list CPUs in different orders, especially for disabled logical cores.  Now
we match ACPI IDs from the MADT with Processor objects, strictly order CPUs
accordingly, and ignore disabled cores.  This prevents us from executing
methods for other CPUs, e. g., _PSS for disabled logical core, which may not
exist.  Unfortunately, it is known that there are a few systems with buggy
BIOSes that do not have unique ACPI IDs for MADT and Processor objects.  To
work around these problems
2012-05-04 18:24:38 +00:00
jkim
b7b9f0e6d9 Add ACPI_LV_REPAIR debug level, available since ACPICA 20091214 (r200553).
MFC after:	3 days
2012-03-22 17:01:25 +00:00
jkim
9807567995 Merge ACPICA 20120320. 2012-03-20 21:37:52 +00:00
jkim
33dc8ca368 Document newly added loader tunables "hw.acpi.install_interface" and
"hw.acpi.remove_interface".
2010-10-26 21:22:55 +00:00
jkim
eb994eb349 Use AcpiReset() from ACPICA instead of rolling our own, which is actually
incomplete.  If FADT says the register is available, enable the capability
by default.  Remove the previous default value from acpi(4).
2010-10-13 00:21:53 +00:00
mav
79feedc85c Recommend disabling LAPIC timer instead whole APIC for fixing C3 state.
PR:		docs/147180
Submitted by:	Tobias Rehbein
2010-06-02 08:43:18 +00:00
jkim
2536fa97ed Document a new sysctl variable and a loader tunable. 2010-03-09 19:19:07 +00:00
ru
fdf6718f33 Use the newly brought %U macro. 2010-01-15 16:01:22 +00:00
jkim
e9424001d9 Reflect debug level changes from the recent ACPICA import. 2009-06-08 21:48:13 +00:00
ru
5b7cf06c1d Markup fixes. 2006-09-18 15:24:20 +00:00
njl
a30f2b103d The acpi module is no different from others. If it is loaded while the kernel
has it compiled in, it will be rejected with "module acpi already present!"
and no strange behavior.

MFC after:	1 day
2006-08-10 06:32:16 +00:00
yar
971f9b29ba Fix things I misadvised to Nate Lawson:
- "Ns No" is redundant, so reduce it to just "Ns";
- use Li to mark up CPU and system power states because here they are
  just strings to be typed literally (add more such mark-up as well);
- the best practice of typesetting tells us to use an en-dash to
  indicate a closed range; fortunately, groff_char(7) provides such a symbol.

In addition, consistently use a comma between independent clauses
coordinated by a conjunction.

Pointed out by:	ru (mark-up part)
MFC after:	3 days
2006-08-07 07:28:47 +00:00
njl
558c576740 Improve quoting of the S1-S5 states. Suggested by yar@.
Add a workaround for conflicts between ACPI Cx CPU idling and LAPIC timer.

MFC after:	1 day
2006-08-04 07:19:01 +00:00
njl
c745eaf315 Document many of the sysctls in acpi. Bump the date on acpi_thermal.4
because I forgot to on the last change.

MFC after:	1 day
2006-07-29 21:47:24 +00:00
njl
00c07c3991 Move the reset beep tunable/sysctl to debug.acpi.resume_beep. This makes
more sense than under hw.acpi.  Also, document this in the man page.
2006-06-10 08:06:16 +00:00
brueffer
9c3fa60f2b Correct the interrupt override information.
PR:		93429
Submitted by:	Michaël Grünewald <michael.grunewald@laposte.net>
MFC after:	3 days
2006-05-01 11:56:18 +00:00
wkoszek
89ae2aab62 Note that ACPI_DEBUG depends on DDB.
Reviewed by:	njl
Approved by:	cognet (mentor)
MFC after:	3 days
2006-03-01 16:31:37 +00:00
hrs
78ae67348b Fix typos and use consistent section names in manual pages:
s/SYSCTLS/SYSCTL VARIABLES/
 s/TUNABLES/LOADER TUNABLES/
 s/CAVEAT/CAVEATS/
 s/DESCIPTION/DESCRIPTION/

Reviewed by:	ru
MFC after:	3 days
2005-07-15 17:35:26 +00:00
ru
10fbbd3d56 Assorted markup fixes and minor wordsmithing.
Approved by:	re
2005-06-15 13:31:23 +00:00
njl
9104e508fe Document the debug.acpi.max_threads tunable. 2005-04-22 23:21:09 +00:00
trhodes
e3d4e765d4 Note that debug.acpi.disabled can also disable the video.
PR:			77693
Tested/submitted by:	John Prather <jprather@axon.cdc.uci.edu>
MFC:			1 day
2005-02-23 07:23:35 +00:00
njl
e256a3604a Bump date. Reminded by: ru 2005-02-13 21:23:23 +00:00
njl
a0d4e0eefd Update documentation of tunables. 2005-02-13 20:26:04 +00:00
njl
044b41bb7e Note changes to throttling sysctls and new power_profile(8) cpufrq support. 2005-02-06 21:31:41 +00:00
krion
aef62f129d Remove trailing spaces.
MFC after:	3 days
2005-01-02 18:26:13 +00:00
njl
55134c7d6f Add more information about debugging output. 2004-12-14 19:55:54 +00:00
ru
2c72e53bd3 Minor mdoc(7) tweaks, excellent work Nate! 2004-12-14 09:24:48 +00:00
njl
d2032ba637 Checkpoint reworking the man page to be more useful to non-developers,
document some debug output variables, etc.  Mdoc assistance welcome.
2004-12-14 01:07:44 +00:00
njl
1af716f4fc Unify ACPI_DEBUG support for all OEM drivers under ACPI_OEM. Since more than
one will never be supported on the same platform, this does not hurt
debugging.

MFC after:	3 days
2004-12-13 23:31:46 +00:00
marks
4b4b34e8d5 Document ACPI tunable hw.acpi.serialize_methods.
Also reorder tunables.

Approved by:	njl
MFC after:	1 week
2004-12-04 23:26:46 +00:00
njl
e1524c78c8 Update the man page with new info about overriding your DSDT.
MFC after:	3 days
2004-10-05 20:42:16 +00:00
ru
9f45c1d92e mdoc(7) fixes. 2004-07-07 19:57:16 +00:00
marks
be82e61ec0 mdoc changes.
Reviewed by:	ru
Approved by:	njl
2004-06-30 20:49:34 +00:00
marks
dd540d8a36 Document BIOS blacklist.
Approved by:	njl
2004-06-30 19:54:29 +00:00
ru
aa52a5a900 Assorted markup, spelling, and grammar fixes. 2004-06-16 08:33:57 +00:00
njl
ed0911a65e Rework acpi_cpu_idle() to select the next idle state before sleeping, not
after.  Unify the paths for all Cx states.  Remove cpu_idle_busy and
instead do the little profiling we need before re-enabling interrupts.
Use 1 quantum as estimate for C1 sleep duration since the timer interrupt
is the main reason we wake.

While here, change the cx_history sysctl to cx_usage and report statistics
for which idle states were used in terms of percent.  This seems more
intuitive than counters.  Remove the cx_stats structure since it's no
longer used.  Update the man page.

Change various types which do not need explicit size.
2004-06-05 07:02:18 +00:00
njl
055815ed7e Change hw.acpi.cpu.cx_lowest to accept values in the form of C1,
C2, ...  Update power_profile to use the new format.  Update the
man page to reflect this and give more info on Cx states.
2004-05-07 05:22:38 +00:00
njl
988efdb11f Add the "new" acad disabling feature. 2004-04-20 17:45:47 +00:00
njl
2b5556f4cf Add a "quirks" value to disable quirks handling for a given boot.
Also, disable quirks if booting with a custom DSDT.  Add a quirk
to disable loading ACPI so known bad systems can be completely
blacklisted.
2004-03-04 04:42:59 +00:00
njl
3baf2d6bee Add support for quirks for acpi tables. Key off OEM vendor and revision.
Sort acpi debug values.  Change "disable" to "disabled" to match rest of
the kernel.  Remove debugging from acpi_toshiba since it was only used for
probe/attach.
2004-03-03 03:02:17 +00:00
njl
93bc079347 Some markup fixes, change some devices to a feature. 2004-02-22 00:50:00 +00:00